1
“按位与”运算符(&)
按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。按位与运算:
00000011&00000101 = 00000001
由此可知3&5=1
(1)清零 :原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。
(2)保留指定位:与一个数进行“按位与”运算,此数在该位取1。
2.
“按位或”运算符(|)
两个相应的二进制位中只要有一个为1,该位的结果值为1。
常用来将源操作数某些位置1,其他位不变
3
按位异或运算符“^”是双目运算符,其功能是参与运算的两个数字对应的二进制位相异或,当两对应的二进位相异时,结果为1。
(1)使特定位的值取反(mask中特定位置1,其他位为0,s=s^mask)。
(2)不引入第三变量,交换两个变量的值 a = a^b b = a^b a = a^b