当b可能是负数还是小数时,如何编写函数来计算^ b?

时间:2013-10-07 22:59:18

标签: c algorithm function math exponent

我想制作一个允许分数和负数的指数函数。我看过相关问题,但还没找到我想要的东西。我需要一个能够执行此类pow(5,1/2)pow(7,-2)之类的功能。有没有人可以帮助我?

2 个答案:

答案 0 :(得分:1)

如果您有能力计算e x 和ln x,那么您可以使用以下标识来计算 b

  

a b = e b ln a

看起来x86架构本身支持计算对数;如果查看the x86 instruction listingsFYL2X指令可以计算日志。您可以使用泰勒系列近似e x

  

e x = 1 + x + x 2 / 2! + x 3 / 3! + x 4 / 4! + ...

希望这有帮助!

答案 1 :(得分:0)

如果您想从头开始实施pow,那么您可能想要使用Taylor的系列。

http://en.wikipedia.org/wiki/Taylor_series