嵌入式开发过程中,常常需要将某一个变量的某一位置零和置1,通常可以采用以下方法实现。
例如:
unsigned char SessionStatus;
#define SS_CONNECTED 0x20
#define SS_TMP_DISCONNECTED 0x10
将SessionStatus置为SS_CONNECTED状态:
SessionStatus |= SS_CONNECTED;
将SessionStatus置为非SS_TMP_DISCONNECTED状态
SessionStatus &= ~SS_TMP_DISCONNECTED
总结
如果想要将某一位置为变量值,只需要 或(|) 上该变量即可。
而如果想要将某一位置为变量值取反后的值,则需要先对该变量 取反(~) ,然后做 与(&)操作即可。