c语言位操作
为什么有位操作?
位操作一般用于单片机内。用于减少通信数据的大小。
举例来说,在pc内一个字节有8位,可以表示一个字符,但是在can通信中,就可以将信息按位存储,正如一个字符有8位,极限情况下每一个位都代表一个信息,这样最多就可以代表8个信息。
如何使用位操作?
位操作一般用于提取信息,假如现在收到一个信息 uint8 msg=0x00110000 ;,假设每个位代表一个信息,现在提取第3位信息:
//提取第3位信息
uint8 result = (msg & (uint8)0x00001000)>>3;