c语言位操作

为什么有位操作?
位操作一般用于单片机内。用于减少通信数据的大小。

举例来说,在pc内一个字节有8位,可以表示一个字符,但是在can通信中,就可以将信息按位存储,正如一个字符有8位,极限情况下每一个位都代表一个信息,这样最多就可以代表8个信息。

如何使用位操作?
位操作一般用于提取信息,假如现在收到一个信息 uint8 msg=0x00110000 ;,假设每个位代表一个信息,现在提取第3位信息:

//提取第3位信息
uint8 result = (msg & (uint8)0x00001000)>>3;
原文地址:https://www.cnblogs.com/chendeqiang/p/13322207.html