algorithm - 2^x 的数值近似

标签 algorithm math pseudocode

我正在编写一个用于任意精度算术的库。我面临的最后一个问题是幂函数。我想出计算 2 ^ (y log2(x))而不是 x ^ y还有一个子问题:我怎样才能有效地计算 2 ^ xx(0,1) 范围内(零和一个除外)。

既然我显然存储有理数,x具有 p/q 的形式(p < q)。因此我可以计算出 q -2 的根(维基百科的 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(如您的情况)。

关于algorithm - 2^x 的数值近似,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40508387/

相关文章:

c++ - 将土壤湿度的模拟读数转换为百分比

python - 计算线穿过的网格象限的有效方法

algorithm - 伪代码类型

python - 如何使用 numpy 创建一个从数据数组返回二维值的函数?

python - 左上角的原点坐标系是什么阻止了这个方程式的工作?

algorithm - 如何绘制树结构? (二维空间分配树递归算法?)

python - python什么时候开始使用不同的算法进行大乘法?

c - 什么是 "for to by"循环?

algorithm - 反向移动到前面变换

c++ - 自定义迭代器和 STL 算法错误