Java中的位运算符 &、|、^、~、<< 和 >>
一、& 按位与运算符 5 & 3 = 1 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 0000 0000 0000 0000 0011 规则:对应的两个二进制位都为1时,结果位就为1,其他情况都为0。 1 & 1 = 1 1 & 0 = 0 0 & 1 = 0 0 & 0 = 0 二、| 按位或运算符 5 | 3 = 7 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 0000 0000 0000 0000 0011 规则:只要对应的二个二进位有一个为1时,结果位就为1。 1 | 1 = 1 1 | 0 = 1 0 | 1 = 1 0 | 0 = 0 三、^ 按位异或 运算符 5 ^ 3 = 6 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 0000 0000 0000 0000 0011 异或的运算法则: 0 ⊕ 0 = 0,1 ⊕ 0 = 1,0 ⊕ 1 = 1,1 ⊕ 1 = 0(相同为0,不同为1) 这些法则与加法是相同的,只是 不带进位 ,所以异或常被认作不进位加法。 四、~