置位:|= , 清0:&=~
清0例:*(unsigned int*)0x40010C0C &=~(1<<0)
先让1左移0位,即
再全部取反,即
再与之相与,即....
我们知道1和1或0相与都为它自己本身,而0和0或1相与都为0,故达到了清0的作用
置位例:0xABC6|=((1)<<3)
0xABC6=
首先,1左移3位,得到0000 0000 0000 1000
|运算符 0|0=0,0|1=1,1|0=1,1|1=0;即相同为0,不同为1
即1010 1011 1100 1110
如此以来就达到了置位的效果。
|