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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

hongbo

初级黑马

  • 黑马币:1

  • 帖子:14

  • 精华:0

如何使用最优的方法来计算2*16的结果是多少?
int c=2;
c*=16;
这样计算不是很简单了吗?难道还有比这个更简单的?

5 个回复

倒序浏览
最简单的方式是用位运算来做,2<<4就可以了!而且效率高哦!
回复 使用道具 举报
赵茹艳 发表于 2012-5-13 13:49
最简单的方式是用位运算来做,2

好的,谢谢,二进制的直接运算是效率最好的吧
回复 使用道具 举报
在计算机中
不论什么计算最终的是转换为二进制的形式在进行计算
所以 2<<4效率更高
nt c=2;
c*=16;
还是要转成 2<<4来运算
回复 使用道具 举报
高效率方式2<<4。
如果用移位,移位需要移动四次,就可以得到运算结果。
如果使用乘法,其实是是利用逻辑运算单元ALU在进行加法和移位运算。除了移位之外还会相加,多了一部分计算的时间开销。
所以不用说,使用乘法效率可能就稍微低一些
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马