引言
我在上一篇随笔中介绍了计算自然对数的快速算法。现在我们来看看计算指数函数的算法。我们知道,指数函数 ex 可以展开为泰勒级数:
这个级数对全体实数 x 都收敛,并且在 x 接近零时收敛得比较快。
实现该算法的 C# 程序
根据前面所述的 ex 的泰勒级数展开式,可以写出以下 C# 程序来为 decimal 数据类型添加一个 Exp 扩展方法:
1 using System; 2 3 namespace Skyiv.Extensions 4 { 5 static class DecimalExtensions 6 { 7 static readonly decimal expmax = 66.542129333754749704054283659m; 8 static readonly int[] mask = { 1, 2, 4, 8, 16, 32, 64 }; 9 static readonly decimal[] exps =