黑马程序员技术交流社区

标题: 问个位移运算符的问题。 [打印本页]

作者: nadax    时间: 2014-8-13 23:31
标题: 问个位移运算符的问题。
本帖最后由 nadax 于 2014-8-13 23:55 编辑

   为什么我用-6>>>3,最后得到的数是1073741822。求懂得大哥解惑下。

作者: fantacyleo    时间: 2014-8-13 23:43
你的答案是错的,-6>>>3的结果是536870911。
-6 在Java中的二进制表示是
1111 1111 1111 1111 1111 1111 1111 1010

>>> 是逻辑右移,也就是说右移时高位(最左边)补0,-6逻辑右移3位就变成:
0001 1111 1111 1111 1111 1111 1111 1111 转成十进制就是536870911
作者: nadax    时间: 2014-8-13 23:54
我弄错了 谢谢大神指点。万分感谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2