黑马程序员技术交流社区

标题: 如何使用最优的方法来计算2*16的结果是多少? [打印本页]

作者: hongbo    时间: 2012-5-13 13:15
标题: 如何使用最优的方法来计算2*16的结果是多少?
如何使用最优的方法来计算2*16的结果是多少?
int c=2;
c*=16;
这样计算不是很简单了吗?难道还有比这个更简单的?
作者: 赵茹艳    时间: 2012-5-13 13:49
最简单的方式是用位运算来做,2<<4就可以了!而且效率高哦!
作者: hongbo    时间: 2012-5-13 14:20
赵茹艳 发表于 2012-5-13 13:49
最简单的方式是用位运算来做,2

好的,谢谢,二进制的直接运算是效率最好的吧
作者: 廖理    时间: 2012-5-13 15:04
在计算机中
不论什么计算最终的是转换为二进制的形式在进行计算
所以 2<<4效率更高
nt c=2;
c*=16;
还是要转成 2<<4来运算
作者: 黑马-王建雨    时间: 2012-5-13 16:59
高效率方式2<<4。
如果用移位,移位需要移动四次,就可以得到运算结果。
如果使用乘法,其实是是利用逻辑运算单元ALU在进行加法和移位运算。除了移位之外还会相加,多了一部分计算的时间开销。
所以不用说,使用乘法效率可能就稍微低一些




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2