原文地址: https://stackoverflow.com/questions/2811319/difference-between-and
>>
是算术右移 (arithmetic shift right), >>>
是逻辑右移 (logical shift right).
再算术位移中, 数字的符号位是保持不变的.
例如: -2 用八进制表示就是 11111110
, 最左边表示符号位, 如果是 1
的话则表示是负数. 将 -2 使用算术右移一位则会得到 11111111
, 也就是 -1.
而逻辑位移则不管符号位是啥, 就是将右移后最左边的位置用 0 填充. 将 -2 进行算术右移一位将得到 01111111
.
欢迎访问我的博客: http://blog.duhbb.com/