我正在爲任意精度算術編程庫。我面臨的最後一個問題是功能函數。我計算出計算2^(y log2(x))
而不是x^y
,並且仍然存在一個子問題:如何有效計算2^x
與x
的範圍爲(0,1)
(零和一個除外)。2^x的數值近似
由於無論如何我明顯存儲了理由,因此x
的格式爲p/q
(p < q
)。因此我可以計算出2
(維基百科的第n個根算法https://en.wikipedia.org/wiki/Nth_root_algorithm)的q
第-1個根,然後通過p
對結果取冪。
但是,這看起來效率很低。有沒有優越的算法?謝謝你的幫助。
如果你仔細想想,你會發現爲什麼自然對數被稱爲自然。把所有的東西都放在2上是沒有什麼意義的。'exp(y * ln(x))'具有更少的常量。 - 研究[bc libmath](http://www.rkeene.org/viewer/devel/old/bc-dos/bc/libmath.b.htm),證明這些功能得到了驗證。 – LutzL
有關基礎知識的更多高級內容,請參見[通過對負指數進行平方運算](http://stackoverflow.com/a/30962495/2521214),然後查看更多高級內容的子鏈接,特別是'固定點數bumpum pow' – Spektre