A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java陈辉 中级黑马   /  2013-12-28 23:37  /  1443 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 java陈辉 于 2014-1-10 23:07 编辑

-10>>3的结果怎么会是-2?这结果是怎么算出来的?求详细的解题过程。

评分

参与人数 1黑马币 +3 收起 理由
乔兵 + 3

查看全部评分

2 个回复

正序浏览
-10的二进制为1111 0110
左移三位11110110<<3 = 1111 0
高位补一   1111 1110
取反         1000 0010 也就是2了

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
负整数在底层是以补码表示的,具体如下:
0000 1010     -->10
1111 0101     -->先按位取反
1111 0110      -->再加1 即为-10的底层表示

     1111 0      -->左移三位
1111 1110      -->高位以1补充
1111 1101      -->再按位取反,符号位不变
1000 0010      -->就是-2

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报 2 0
您需要登录后才可以回帖 登录 | 加入黑马