Java中的>>>和>>运算符有什么区别?
>>>
>>
>>是算术右移,>>>是逻辑右移。
在算术移位中,将扩展符号位以保留数字的符号性。
例如:用8位表示的-2将是11111110(因为最高有效位的权重为负)。使用算术移位将其右移一位,你将得到11111111 -1。但是,逻辑右移并不关心该值是否可能表示带符号的数字;它只是将所有内容移至右侧,并从左侧填充0。使用逻辑移位将-2右移一位将得到01111111。
-2
11111110
1111111 -1
01111111