java中<<<和<<的区别

Java中的位运算符:

>>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;

>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。

这是一个输出整数的补码

for (int i=0;i<32;i++){
            //0x80000000--->二进制:1000 0000 0000 0000 0000 0000 0000 0000
            int t=(a&0x80000000>>>i)>>>(31-i);
            System.out.print(t);
        }

通过-20的例子来说明

20的补码
    11111111111111111111111111101100
20 >>2(右移)
    11111111111111111111111111111011
20>>>2(无符号右移)
    00111111111111111111111111111011

 

posted on 2017-10-11 17:01  期待华丽转身  阅读(1609)  评论(0编辑  收藏  举报