java中>>>和>>两个运算符的区别

>>和>>>都表示右移,区别在于:

1、>>运算符,如果该数为正,则高位补0,若为负数,则高位补1.

如:int i=15;其二进制为(00001111),i>>2结果为3,移出的部分被抛弃(00000011)

如:int i=-6;其二进制补码(11111111111111111111111111111010),i>>2结果为-2

		System.out.println((15)>>2);
		System.out.println((-6)>>2);
		System.out.println(Integer.toBinaryString(6));
		System.out.print(Integer.toBinaryString(-6));

输出结果分别为

3
-2
110
11111111111111111111111111111010

2、>>>运算符,表示无符号右移,即无论是正数还是负数,右移后高位补0


版权声明:本文为zxx183420原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。