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