欢迎访问我的个人博客:我心永恒

Java中右移(>>)和逻辑右移(>>>)的区别

原文地址: 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/

posted @ 2022-06-17 15:46  tuhooo  阅读(90)  评论(0编辑  收藏  举报

欢迎访问我的个人博客:我心永恒