我就是蓬蒿人 2022-07-03 10:01 采纳率: 33.3%
浏览 38

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

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

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

double pow(double base, double exp);

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

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

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

  • 写回答

1条回答 默认 最新

  • Hann Yang 优质创作者: 编程框架技术领域 2022-07-03 14:01
    关注

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

    img

    评论

报告相同问题?

问题事件

  • 修改了问题 7月3日
  • 创建了问题 7月3日