运算符&。
把两个数字转化成二进制。从高位开始比较,同1为1,否则为0
@Test
public void test5(){
//异或操作符运算
System.out.println(3& 5); //1
System.out.println(5 & 7); //3
}
输出:
1
5
原因:
3 011
5 101
-> 001 ->1(十进制)
5 101
7 111
-> 101 ->5(十进制)
运算符^
两个数转为二进制,相同为0,不同为1.需要注意的是 num^0=num;
@Test
public void test5(){
//异或操作符运算
System.out.println(3^ 5); //6
System.out.println(5 ^ 7); //2
}
输出:
6
2
分析:
3 011
5 101
-> 110 ->6
5 101
7 111
-> 010 ->2