黑马程序员技术交流社区
标题:
关于负数位移的问题
[打印本页]
作者:
java陈辉
时间:
2013-12-28 23:37
标题:
关于负数位移的问题
本帖最后由 java陈辉 于 2014-1-10 23:07 编辑
-10>>3的结果怎么会是-2?这结果是怎么算出来的?求详细的解题过程。
作者:
由然自美
时间:
2013-12-28 23:38
负整数在底层是以补码表示的,具体如下:
0000 1010 -->10
1111 0101 -->先按位取反
1111 0110 -->再加1 即为-10的底层表示
1111 0 -->左移三位
1111 1110 -->高位以1补充
1111 1101 -->再按位取反,符号位不变
1000 0010 -->就是-2
作者:
柏涛
时间:
2013-12-29 12:49
-10的二进制为1111 0110
左移三位11110110<<3 = 1111 0
高位补一 1111 1110
取反 1000 0010 也就是2了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2