c - 当 b 可能为负数或小数时,如何编写一个函数来计算 a^b?

标签 c algorithm function math exponent

<分区>

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

最佳答案

如果您有能力计算 ex 和 ln x,那么您可以使用以下恒等式来计算 ab:

ab = eb ln a

看起来 x86 架构原生支持计算对数;如果你看the x86 instruction listings , FYL2X 指令可以计算日志。您可以使用泰勒级数来近似计算 ex:

ex = 1 + x + x2 / 2! + x3 / 3! + x4 / 4! + ...

希望对您有所帮助!

关于c - 当 b 可能为负数或小数时,如何编写一个函数来计算 a^b?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19236258/

相关文章:

C While 循环显示 Max 和 Min 并以 0 结尾,但我不想考虑 0

c - 为什么服务器在客户端应用程序处于 STOPPED 状态后等待客户端?

Python:确定固定长度列的通用算法

java - 欧拉投影数字阶乘之和

python - 按行位置读取文件

c++ - 如何调用模板方法?

c - ( __ ) "double underscore"在 c 程序中的含义是什么,即 : __asm__ , 我们或编译器如何使用它们

c++ - C/C++ : 2D animation library

c++ - C++ 中的 LP 单纯形算法

c - 用 C 将 JSON 字符串放入数据库