且:&
昨天也刚说&是一个为false就是false,而在二进制中1为true,0为false
System.out.println(0&1);
System.out.println(0&0);
System.out.println(1&1);
输出:
在大一点的数字里,如3&5
System.out.println(3&5);
他们会转化为二进制:
101 => 5
011 =>3
001 =>1 得数
输出:
或:|
前面也说过|是一个为true就判断为true
System.out.println(0|1);
System.out.println(0|0);
System.out.println(1|1);
输出:
在大一点的数字里,如3|5
System.out.println(3|5);
二进制:
101 => 5
011 =>3
111 =>7 得数
异或:^
^比较不一般,一定要两个条件不一样才为true
System.out.println(1^0);
System.out.println(1^1);
System.out.println(0^0);
输出:
较大数:
System.out.println(3^5);
二进制:
101 => 5
011 =>3
110 =>6 得数
总结:
&:一个为0就为0
|:一个为1就是1
^:两个不一样就为1