乘法计算时间的比较

时间:2010-07-08 03:28:37

标签: computer-architecture

设a,b为n位数的两个整数。 我想知道a的平方的计算时间是否短于a * b。

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

我认为没有办法在不使用x86上的IMUL的情况下对A进行平方。我错了。

要了解需要多长时间,请使用microbenchmark!

编辑:哦等等,我知道了! a b需要两次内存读取,而 a需要一次内存读取!所以a * a更快: - )。

真正的答案:除非你有一些影响事物的外在因素,否则没有理由a * b会变慢。

答案 1 :(得分:1)

我认为你的问题是:

*设a,b为n个数字的两个整数。我想知道计算a的平方的计算时间是否比计算a * b的计算时间短。*

如果n足够大,你不能只使用单个乘法指令,那么我所知道的任何算法都可以利用两个因子都相同的事实。这对于你在学校学到的算法来说是正确的,因为几乎一半的数字产品都不需要成倍增加。对于非常大的n的极端,使用FFT的卷积,两个因子的FFT对于平方是相同的,并且仅需要计算一次。

答案 2 :(得分:0)

看看the benchmarks in Bentley's "Programming Pearls",你可以从那里开始测量。