java中的二进制运算简单理解
程序员文章站
2022-06-23 09:21:11
(a ^ b) 结果: 7 (bool1 ^ bool2) 结果: false (a & b) 结果: 8 (a | b) 结果: 15 (b >>> 2) 结果: 2 (b << 3) 结果: 64 ......
package test9; public class streamtest { public static void main(string[] args) { int a = 15;// 0b1111 int b = 8;// 0b1000 boolean bool1 = true; boolean bool2 = true; system.out.println(a ^ b);// 0b1111 ^ 0b1000 = 0b0111 一边为1则取1,其余取0 结果:7 system.out.println(bool1 ^ bool2);// 同为真,或同为假时为假; 否则为真 结果:false system.out.println(a & b);// 0b1111 & 0b1000 = 0b1000 两边都为1则取1,其余取0 结果:8 system.out.println(a | b);// 0b1111 | 0b1000 = 0b1111 两边为1或单边为1则取1,其余取0 结果:15 system.out.println(b >>> 2);// b / 2 / 2 右移一位除以2,本次移了2次 结果:2 system.out.println(b << 3);// b * 2 * 2 * 2 左移一次乘以2,本次移动3次 结果:64 } }
(a ^ b) 结果: 7
(bool1 ^ bool2) 结果: false
(a & b) 结果: 8
(a | b) 结果: 15
(b >>> 2) 结果: 2
(b << 3) 结果: 64
推荐阅读