黑马程序员技术交流社区

标题: 最有效率的方法算出2乘以8 [打印本页]

作者: 黑马不黑    时间: 2014-1-12 09:17
标题: 最有效率的方法算出2乘以8
虽然知道,最有效率的方法算出2乘以8的实现方法是2 << 3,但是不清楚为什么会是最有效率的呢?还去哪个高人指点?

作者: xu6148152    时间: 2014-1-12 10:06
这个你可以看下底层的汇编代码。
举个例子,因为移位指令占2个机器周期,而乘除法指令占4个机器周期。
不同指令集的指令运行时间不一样,但是移位的指令周期都比承储指令周期小。
作者: 汪伟楠    时间: 2014-1-12 10:11
2<<3—>2右移3位
是最有效率的,因为要算2乘以8需要加入算数运算符所以效率慢。
如果用移位算法只需要在二进制中进行移动就可以。计算机所识别的就是二进制,效率当然快了。
作者: november    时间: 2014-1-12 11:58
计算机的最底层即他所识别的的语言就是二进制语言。
作者: 山治0712    时间: 2014-1-14 21:34
因为位移是直接操作的二进制数组
作者: 倉促、尋找你    时间: 2014-1-15 21:21
这是位运算,也就是二进制数据的运算。计算机里所有的运算都是经过cpu进行指令转换成普通的二进制来运算的,位运算就是少了指令转换的这一步,所以效率高,这很正常的




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