例1:
int n = 8;
n /= 2;与n *= 0.5;哪个效率更高?
例2:(浮点数更多呢?)
int n = 8;
n /= 1763;与n *= 0.0005672149744753261;哪个效率更高?
已知:
速度:移位>乘法>除法
速度:整型>浮点型
那么到底是(乘以 一个 浮点型)更快 还是(除以 一个 整型)更快?
我的直觉告诉我,应该是除以整数更快,但是我想更详细的了解为什么?和什么因素有关?
速度不一定,看你cpu算的快不快
可以忽略不计1毫秒之内
速度主要看你时间复杂度(少用循环)
但是计算机计算是这样的:除法转乘法转加法(2进制的)
这要看 CPU
最直观的感觉,乘法块, 乘法指令容易实现,且大部分的 CPU都有乘法指令,只有少部分的 CPU 有除法指令,且执行除法指令也不快。
在 DSP 中,乘法的执行效率远大于除法。
隐约记得好像是:移位运算效率 > 乘法运算效率 > 除法运算效率