昨天在做一家公司的笔试题时,碰巧遇到了>>>,好吧,那时我发现我这个知识点没掌握,这里学习学习。
>>>:有符号右移,由于是补码运算,故负数左边补1,正数左边补0,右边多余被舍弃。
>>:无符号右移,左边都补0,右边都舍弃。
public static void main(String[] args){
int a = -2>>>2;
int b = -2>>2;
int c = 8>>>2;
int d = 8>>2;
System.out.println(a);
System.out.println(b);
System.out.println(Integer.toBinaryString(a));
System.out.println(c);
System.out.println(d);
}
结果:
1073741823
-1
111111111111111111111111111111
2
2