[英]Numerical approximation of 2^x
我正在為任意精度算術編寫一個庫。 我面臨的最后一個問題是冪函數。 我想出要計算2 ^ (y log2(x))
而不是x ^ y
並且仍然存在一個子問題:如何有效地計算x
范圍為(0,1)
(排除零和一個)的2 ^ x
。
因為我顯然還是存儲有理數,所以x
的形式為p/q
( p < q
)。 因此,我可以計算q
個的根2
(Wikipedia的第n根算法https://en.wikipedia.org/wiki/Nth_root_algorithm ),然后通過exponentiate結果p
。
但是,這似乎效率很低。 有什么高級算法嗎? 謝謝你的幫助。
由於2 ^ x = e ^ (x ln 2)
和e ^ x = 1 + x + x^2/2! + x^3/3! + ...
e ^ x = 1 + x + x^2/2! + x^3/3! + ...
e ^ x = 1 + x + x^2/2! + x^3/3! + ...
這可能是一種方法。 e ^ x
的級數展開對於有限的x迅速收斂(如您的情況)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.