2010-07-08 121 views
0

設a,b爲n位數的兩個整數。 我想知道a的平方的計算時間是否比a * b短。乘法計算時間的比較

謝謝你的幫助。

+0

我不明白它會是什麼;只要a和b具有相同的大小(以位爲單位,而不是數字)。當然,要知道的唯一方法就是以此爲基準。 – quantumSoup 2010-07-08 03:37:11

+0

如果我被允許工作在base-n,計算n^2是微不足道的。 – 2010-07-08 03:57:52

回答

1

我不認爲有一種方法可以在x86上使用IMUL而不使用IMUL。我可能是錯的。

要找出需要多長時間,microbenchmark它!

編輯:哦,等等,我明白了!一個b需要兩個內存讀取和一個 a需要一個!所以a *更快:-)。

正確答案:沒有理由a * b會變慢,除非你有一些外界因素影響事物。

1

我認爲你的問題是:

*讓A,B是兩個整數用n個數字。我想知道計算a的平方的計算時間是否比計算a * b的計算時間短。*

如果n足夠大以至於不能只使用單個乘法指令,那麼任何算法知道可以利用這兩個因素相同的事實。對於您在學校學到的算法而言,這是事實,因爲幾乎一半數字的乘積不需要相乘。在非常大的n的極端,使用與FFT的卷積,這兩個因子的FFT對於正方形是相同的,並且只需要計算一次。