指数函数的函数值的近似计算
计算指数函数 \( e^{x} \)的函数值的近似值。当x的取值很大(或很小)时,小贾计算器八可以计算出对应函数值的前若干位有效数字。本例中,小贾计算器八计算 \( e^{1000000000} \)的近似值。 \( e^{1000000000} \) 的整数部分一共有434294482位,本例中小贾计算器八只计算了该函数值的前21位有效数字。小贾计算器八是小贾计算器二的补充。
祝大家元旦快乐。 一个简单的换底公式,干嘛搞这么复杂? 知乎上的代码,供参考:
inline double fast_exp(double y) {
double d;
*(reinterpret_cast<int*>(&d) + 0) = 0;
*(reinterpret_cast<int*>(&d) + 1) = static_cast<int>(1512775 * y + 1072632447);
return d;
}
这个求指数函数exp()的快速近似方法的原理是什么? 我用的是大数库,能返回2000位及以上有效数字呢。最重要的是能根据用户输入的误差要求返回符合要求近似值。双精度能返回两千位有效数字吗? 另外指数有四亿那么大,双精度数可以显示吗?小贾返回的是两个大的分数,虽然显示起来像个字符串,但是背后它们是两个数,可以参与以后的运算的。
页:
[1]