java中的二進制運算簡單理解


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM