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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hi围城 中级黑马   /  2014-3-15 10:56  /  2057 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Hi围城 于 2014-3-15 23:45 编辑

4 << 3 的值为什么是32?你们是怎么理解的?

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

14 个回复

倒序浏览
4<<3 意思是将4右移3位,
可以这么分析
4用二进制表示为 0b00000100
右移3位后为       0b00100000  = 十进制 32
简单说X<<Y  结果是X乘以2的Y次方
4<<3       就是可以说是 4乘以2的3次方 4*2*2*2 = 32!

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 牧之 于 2014-3-15 18:38 编辑

右移n个位置 就相当于 乘以2的n次方  就是4乘以3个2  就是32啊
回复 使用道具 举报
可以这样分析
4的二进制是
0000 0000 0000 0000 0000 0000 0000 0100
你要求4要左移3位,那么即是:
0000 0000 0000 0000 0000 0000 0010 0000
此时你可以把他换算一下结果:1*2的五次方;即2为32.

这是一个规律:向左移n位,就是乘以2的n次方,向右移n位,就是除以2的n次方

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
左移<<  4<<3  ==4*2的3次方;右移>>  4>>3 == 4/2的3次方。
回复 使用道具 举报
4<<3就是将 4的用2禁止表示整体往左移3位,空位补0
结果如下:

0000 0000 0000 0010  4
0000 0000 0000 0100  8
0000 0000 0000 1000  16
0000 0000 0001 0000  32
回复 使用道具 举报
4的二进制是 0000 0000 0000 0000 0000 0000 0000 0100 你要求4要左移3位,那么即是: 0000 0000 0000 0000 0000 0000 0010 0000 此时你可以把他换算一下结果:1*2的五次方;即2为32.

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报

嗯,应该是左移3位吧?
回复 使用道具 举报
牧之 发表于 2014-3-15 11:56
右移n个位置 就相当于 乘以2的n次方  就是4乘以3个2  就是32啊

嗯,我记住了。
回复 使用道具 举报
apple_victor 发表于 2014-3-15 15:36
可以这样分析
4的二进制是
0000 0000 0000 0000 0000 0000 0000 0100

嗯,thank you.
回复 使用道具 举报
悟中生有 发表于 2014-3-15 15:56
左移>3 == 4/2的3次方。

嗯,都是高手啊~!
回复 使用道具 举报

应该是二进制吧。
回复 使用道具 举报
cnchenys 发表于 2014-3-15 21:39
4的二进制是 0000 0000 0000 0000 0000 0000 0000 0100 你要求4要左移3位,那么即是: 0000 0000 0000 0000 ...

谢谢啦,热心人啊。。
回复 使用道具 举报
Hi围城 发表于 2014-3-15 23:47
嗯,应该是左移3位吧?

好吧···我错了··呵呵··我体育;P老师走得早···左右不分···
回复 使用道具 举报
不过,还是谢谢啦。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马