为了账号安全,请及时绑定邮箱和手机立即绑定

计算2乘以8,为什么用2<<3效率最高?

计算2乘以8,为什么用2<<3效率最高?

陈纪堂 2017-05-05 13:35:04
计算2乘以8,为什么用2<<3效率最高?2<<8 与 2*8  在运算的时候有什么区别?
查看完整描述

3 回答

已采纳
?
Y_kj

TA贡献2条经验 获得超0个赞

计算机中的语言使用二进制表示的,左移是进制表示后面加N个0。2<<8左移八位是在10(二进制10表示为十进制的2)的基础上加8个0 = 2^9,与2 * 8 = 16是不一样。通过机器语言来运算是更快的。

查看完整回答
反对 回复 2017-05-05
?
噼喱啪啦

TA贡献392条经验 获得超170个赞

大概就是移位运算更快。

参考计算机组成原理

计算机底层是二进制运算,算术运算和逻辑运算

本质上算术运算也是通过与或非逻辑器件实现的

移位运算只需移动位置,补充0

而2*8,这个是乘法运算,乘法运算是通过加法运算操作的,明显麻烦多了。你具体看计算机组成。。。

查看完整回答
2 反对 回复 2017-05-05
?
慕雪4197399

TA贡献3条经验 获得超2个赞

2<<3是把2转化成二进制数左移3位,也可以理解右边添加了3个0,再转化成十进制数,2*8这个我不太清楚
查看完整回答
1 反对 回复 2017-05-05
?
Nicole_R

TA贡献1条经验 获得超0个赞

移位运算符的优先级高于算数运算符吧
查看完整回答
反对 回复 2017-05-05
?
咸鱼老师

TA贡献6条经验 获得超0个赞

因为2<<8跟2*8在值上等价

但是2*8在CPU底层的时候还要考虑进位、溢出等。

查看完整回答
反对 回复 2017-05-05
?
江户川秋风

TA贡献78条经验 获得超21个赞

这是位运算,计算机擅长的就是二进制的运算了

查看完整回答
反对 回复 2017-05-05
  • 3 回答
  • 0 关注
  • 7022 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信