一尘不染

Java中的>>>和>>运算符有什么区别?

java

Java中的>>>>>运算符有什么区别?


阅读 483

收藏
2020-03-01

共1个答案

一尘不染

>>是算术右移,>>>是逻辑右移。

在算术移位中,将扩展符号位以保留数字的符号性。

例如:用8位表示的-2将是11111110(因为最高有效位的权重为负)。使用算术移位将其右移一位,你将得到11111111 -1。但是,逻辑右移并不关心该值是否可能表示带符号的数字;它只是将所有内容移至右侧,并从左侧填充0。使用逻辑移位将-2右移一位将得到01111111

2020-03-01