java——>> 和>>>


試一下

    public static void main(String[] args) {

        System.out.println(Integer.toBinaryString(-16));
        System.out.println(Integer.toBinaryString(-16>>2));
        System.out.println(Integer.toBinaryString(16));
        System.out.println(Integer.toBinaryString(16>>2));
        System.out.println(Integer.toBinaryString(-16));
        System.out.println(Integer.toBinaryString(-16>>>2));
        System.out.println(Integer.toBinaryString(16));
        System.out.println(Integer.toBinaryString(16>>>2));
        System.out.println(-16>>2);
        System.out.println(-16>>>2);
        System.out.println(-15>>2);
        System.out.println(-15>>>2);
        System.out.println(15>>2);
        System.out.println(15>>>2);
    }

得到結果:

11111111111111111111111111110000
11111111111111111111111111111100
10000
100
11111111111111111111111111110000
111111111111111111111111111100
10000
100
-4
1073741820
-4
1073741820
3
3

結論:

  >> :

    負數右移用1補位

    正數右移用0補位

  >>>:

    無論正負,都用0補位

 


免責聲明!

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



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