三种位运算符用于计算两个数的二进制按位进行与,或,异或的结果
& 按位与
按位进行或运算,即全为1才为1
例如: 15%10 : 1111 & 1010= 0000
| 按位或
按位进行与运算,即有1则为1
例如: 15|10 : 1111 | 1010= 0111
^ 按位异或
按位进行异或运算,相同为0,不同为1
例如: 15|10 : 1111 ^ 1010= 0111
Java代码示例:
int c1 = 0b1111;//15
int c2 = 0b1010;//10
System.out.println(Integer.toBinaryString(c1 | c2));
System.out.println(Integer.toBinaryString(c1 & c2));
System.out.println(Integer.toBinaryString(c1 ^ c2));
输出结果:
1111
1010
101
注意Java中二进制的表示形式:
二进制: 0b开头
八进制: 0开头
十进制: 默认即为十进制
十六进制: 0x开头