按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位都为1时,结果位才为1。参与运算的两个数均以补码出现。
整数在计算机中用二进制的位来表示,提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。
& 按位与 | 按位或 ^ 按位异或
AND (位与&) OR ( 位或| ) XOR ( 位异或^ )
1 & 1 = 1, 1 | 1 = 1, 1 ^ 1 = 0
1 & 0 = 0, 1 | 0 = 1, 1 ^ 0 = 1
0 & 1 = 0, 0 | 1 = 1, 0 ^ 1 = 1
0 & 0 = 0, 0 | 0 = 0, 0 ^ 0 = 0
总结:
按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0;
按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1;
按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0;
按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1;