按位&,|,^和~
#define function1 0x1
#define function2 0x2
#define function3 0x04
#define function4 0x08
int flag =10001000;//flag可用于表示8个功能的开启状态,或用于协议解码中的判断
打开功能:
flag |=function;
例子打开功能1
1000 1000 |
0000 0001=1000 1001;
关闭功能:
glag&=~function;
例子关闭功能4
1001 1001&
~0000 1000=
1000 1001&
1111 0111=1000 0001
检查位值:
if(flags&function)
例子:判断功能8是否开启
1000 0001&
1000 0000=
1000 0000