这个涉及到硬件的知识。
如果用移位,就像楼主举例的2*3,移位需要移动三次,就可以得到运算结果。
如果使用乘法,其实是是利用逻辑运算单元ALU在进行加法和移位运算。除了移位之外还会相加,多了一部分计算的时间开销。
所以不用说,使用乘法效率可能就稍微低一些。
但是实际上,对于我们日常使用数据的运算,这样的差别是极其微小的。
一般只有在使用计算机对采集的数据进行大量运算,或者集中对数据的处理,才能看得出效率的差异。
毕竟现在计算机的CPU已经由单核变为多核,数据处理能力已经是今非昔比的了。
我能用文字解释的大概就是这样,如果楼主想要了解更多,可以去参阅 计算机组成原理/计算机组织与结构 等书籍
里面有一部分内容是讲解码制,进制运算,以及运算的硬件实现等。
希望对楼主有所帮助。 |