Java位运算符
所有数都需要转换为二进制。
设两个数字:
8:1000
3:0011
异位^
相同的为0,不同的则为1。
8^3
1000
0011
结果:1011 —》11
与&
两数都为1则为1,否者为0。
8&3
1000
0011
结果:0000 —》0
或 |
两个数只要有一个为1,则为1,否者为0。
8|3
1000
0011
结果:1011 —》11
非~
如果位为0,结果是1,如果位为1,结果为0.
System.out.println(8^3); //结果11
System.out.println(8|3); //结果11
System.out.println(8&3); //结果0
System.out.println(~3); //结果-4