2^x 的数值近似

Numerical approximation of 2^x

我正在编写一个用于任意精度算术的库。我面临的最后一个问题是幂函数。我想出计算 2 ^ (y log2(x)) 而不是 x ^ y 并且仍然存在一个子问题:我如何有效地计算 2 ^ x with x(0,1) 范围内(零并排除一个)。

因为我显然存储有理数,所以 x 的形式为 p/q (p < q)。因此我可以计算 2 的第 q 个根(维基百科的第 n 个根算法 https://en.wikipedia.org/wiki/Nth_root_algorithm),然后用 p.

对结果求幂

但是,这似乎效率很低。有没有更高级的算法?感谢您的帮助。

因为 2 ^ x = e ^ (x ln 2)e ^ x = 1 + x + x^2/2! + x^3/3! + ... 这可能是一个可行的方法。 e ^ x 的级数展开对于有限的 x(如您的情况)快速收敛。