整數平方根的計算 二

2021-06-16 08:49:17 字數 589 閱讀 5893

摘要:

演算法:這個程式的主要演算法是牛頓迭代法。他首先得到乙個平方根的初始值,然後使用牛頓迭代法逐步求精,在計算過程中,始終用兩個整數的比表示整數平方根的值。最後,它轉換分數表示的平方根為10進製字串。

說明: 該文有待完善。

效能分析:

對比pifast,它的效能仍然不是很好,我特意分析了這個程式各個部分的時間開銷,發現主要瓶頸在最後輸出部分。下表給出計算2的平方根的時間花費。

steps

time(seconds)

percentage

calc

0.308532

10.92%

x=pow(10,d)

0.094357

3.34%

p*= (10^d)

0.371915

13.17%

p/q0.708144

25.07%

tostring

1.177165

41.68%

print to file

0.164422

5.82%

total

2.824535

100.00%

整數平方根2

sqrt的快速演算法 參考 2009年10月26日 星期一 21 04 在3d圖形程式設計中,經常要求平方根或平方根的倒數,例如 求向量的長度或將向量歸一化。c數學函式庫中的sqrt具有理想的精度,但對於3d遊戲程式來說速度太慢。我們希望能夠在保證足夠的精度的同時,進一步提高速度。carmack在q...

快速計算平方根

在3d圖形程式設計中,經常要求平方根或平方根的倒數,例如 求向量的長度或將向量歸一化。c數學函式庫中的sqrt具有理想的精度,但對於3d遊戲程式來說速度太慢。我們希望能夠在保證足夠的精度的同時,進一步提高速度。carmack在quake3中使用了下面的演算法,它第一次在公眾場合出現的時候,幾乎震住了...

計算平方根的演算法

總結一下一些常用的計算平方根的方法 1.牛頓法 具體的做法如下 計算公式如下 具體的計算程式如下 double sqrt double x return g 2.利用級數進行逼近 微積分中的泰勒級數如下 這樣,有了這個公式我們可以得到求平方根公式的展開式 這樣我們可以進行在一定精度內的逼近。但是這兒...