C语言位操作
1 位操作运算符
1.1、与 (&)、或(|)、按位取反(~)
1.2、移位操作:左移(<<)、右移(>>)
2 位操作宏函数
2.1 bit n位置位,即bit n 置1其他位保持不变(从bit 0开始,如 0x01 bit 0为1)
#define SET_NTH_BIT(x,n) (x | (1U << n))
其中,1U 表示无符号整数1,左移n为得到bit n位为1,即掩码,与x按位或即可把x bit n置为1
2.2 bit n 位清零
#define CLEAR_NTH_BIT(x,n) (x & ~(1U << n))
其中,1U 表示无符号整数1,左移n为得到bit n位为1,即掩码,然后按位取反除bit n外所有位为1,与x按位与即可把x bit n清零
2.3 读取bit n位状态