欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java中的二进制运算简单理解

程序员文章站 2022-03-04 08:39:38
(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