求浮点数次幂计算的底层实现

禁止直接调用标准库的pow函数!

我们知道,cmath有pow函数如下:

double pow(double base, double exp);

其指数允许为任意实数,因此我们也可以利用它来进行开任意实数次方根的操作,因为
sqrt[n](a) = a ^ (1 / n) (a,b ∈ R)

然而,我们平时自己实现的pow函数几乎全都不支持小数作指数。我想知道如何实现标准库这种函数。

推荐作答语言:C/C++,Python,Java,C#,数学,伪代码。可以不提供代码,仅提供思路。感谢!

把pow(a,b)转化成e^x形式,然后进行泰勒级数展开累和到一定精度

img