C语言中的基本位操作运算符:
按位取反:~
位与:&
位或:|
位异或:^
移位运算:左移<< 右移>>
组合用法:
1、掩码:
#define MASK 0xff
unsigned
short flag = 0x2345;
flag &=
MASK;
则flag掩码后等于0x0045,高八位被屏蔽。
2、打开位:
#define BIT(n) (0x1 <<
n)
flag |= BIT(n);
3、关闭位:
flag &= ~BIT(n);
4、转置位:
flag ^= BIT(n);
5、查看一位的值:
if (flag&BIT(n) ==
BIT(n))
puts("the same!\n");