位清零操作:A&=~(B<<C);
将B左移C位并取反之后的值,再与上A后的值赋值给A
位置1操作:A|=(B<<C)
将B左移C位后的值,再或上A后赋值给A
B为需要改变变量几位,B的值不应超出要改变变量的大小
例如:
A&= ~(1<<4) ;将A的bit4清零
1<<4 = 0x10
~(0x10) = FFFFFFFFFFFFFFEF
(FFFFFFFFFFFFFFEF)&0xFF = 0xEF
EF = 11101111
A&= ~(0x3<<4) ;将A的bit4和bit5都清零
A|=(1<<4); 将A的bit4置1
A|=(0x3<<4); 将A的bit4和bit5置1