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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯云飞 中级黑马   /  2013-1-11 03:05  /  8318 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1111-1111  1111-11111  1111-1111  1111-1010
这个数值是-6

当>>2 后,右移2位, 左边空位用1补齐。。。

但是,当<<2后。。 右边顶头的空位用什么补齐呢??  1 补 还是 0 补 ??

>>>   <<<   这个,无论左移右移,空位都是用0补是吗?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 鼓励一下。。看视频的时候要认真.

查看全部评分

7 个回复

倒序浏览
您这是一晚没睡还是起得特早啊。。 敬佩一下~
负数左移<<首位的1是不变的,末尾用0补齐
<<<和>>>都是无符号移位,无论正负数,都用0补齐。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 加油

查看全部评分

回复 使用道具 举报
没有<<<,
因为左移是在后面补0
而右移是在前面边补1或0,看最高位是0还是1,是0就补0,是1就补1.
决于数的前面的第一位是0还是1
所以右移是会产生到底补1还是0的问题。
而左移始终是在右边补,不会产生符号问题。
所以没有必要无符号左移<<<。
无符号左移<<<和左移<<是一样的概念。

QQ截图20130111081008.jpg (30.26 KB, 下载次数: 100)

负数的二进制

负数的二进制

QQ截图20130111080919.jpg (67.83 KB, 下载次数: 127)

位运算符

位运算符

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
1、但是,当<<2后。。 右边顶头的空位用什么补齐呢??  1 补 还是 0 补 ??    用0补
答案:1111-1111  1111-11111  1111-1111  1110-1000

2、>>>   <<<   这个,无论左移右移,空位都是用0补是吗?
答案:无论最高位是什么,右移后,都用0补齐

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
原来没有无符号左移啊。。  {:soso_e112:}
回复 使用道具 举报
陈丽莉 发表于 2013-1-11 08:28
原来没有无符号左移啊。。

无符号左移和左移是一样的额
回复 使用道具 举报
那个啊。。 虽然我没弄清java中是没有无符号左移这有点小不足。
不过仍是简明扼要,抓住重点回答了问题了,也答对了呢。
不是说认真回答问题并有技术含量就可以的嘛。。。
看在我起了个大早回答问题的份上。。。  {:3_65:}
回复 使用道具 举报
冯海霞 发表于 2013-1-11 11:34
无符号左移和左移是一样的额

那个啊。。 虽然我没弄清java中是没有无符号左移这有点小不足。
不过仍是简明扼要,抓住重点回答了问题了,也答对了呢。
不是说认真回答问题并有技术含量就可以的嘛。。。
看在我起了个大早回答问题的份上。。。  {:3_65:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马