我正在为任意精度的算术程序设计一个库我面临的最后一个问题是功率函数我想计算2 ^ (y log2(x))
而不是x ^ y
,但仍然有一个子问题:如何在2 ^ x
范围内(不包括0和1)有效地计算x
。
因为我显然是储存配给的,(0,1)
的形式是x
(p/q
)因此,我可以计算p < q
的第n个根(Wikipedia的第n个根算法https://en.wikipedia.org/wiki/Nth_root_algorithm),然后通过q
将结果指数化。
然而,这似乎非常低效有什么更好的算法吗?谢谢你的帮助。
最佳答案
因为2 ^ x = e ^ (x ln 2)
和e ^ x = 1 + x + x^2/2! + x^3/3! + ...
这可能是一条路e ^ x
的级数展开快速收敛于有限的x(如您的情况)。