处理整形类型时,可以直接对组成整型数值的各个位完成操作,这意味着可以使用掩码技术得到整数中的各个位。位运算符包括
&(“and”)、|(“or”)、^(“xor”)、~(“not”)
这些运算符按位模式处理。例如,如果n是一个整数变量,而且用二进制表示的n从右边数第四位为1,则
int x = (n & 0b1000)/0b1000;
会反回1,否则返回0.利用&并结合使用适当的2的幂,可以吧其他位掩掉,而只保留其中某一位。
另外,还有>>和<<运算符将位模式左移或右移。需要建立位模式来完成位掩码时,这两个运算符会很方便:
int x = (n &(1<<3)) >> 3;
最后,>>>运算符会用0填充高位,这与>>不同,它会用符号位填充高位。不存在<<<运算符。