知识点:
1、位与运算符&:屏蔽某些二进制位。
例:n=n&0177;将n中除7个低二进制位外,其他各位均置为0;
2、位或运算符|:将某些二进制位,置为1 。
例:x=x|SET_ON; x中对应于SET_ON为1的那些二进制位,置为1。
3、位异或运算符^:当两个操作数对应位不相同时将该位置为1,否则置为0。
4、移位运算符<<与>>:右边操作数必须为非负值!
对unsigned右移时,左边的部分用0填补。
对signed右移时,根据机器而定填符号位或0。
5、一元运算符~:用于求整数的二进制反码,即分别将操作数各二进制位上的1变为0
, 0变为1.
例:x=x& ~077; 将把x的最后6位设置为0。