我一直想知道如何自己制作一个计算功率的函数(例如 23)。在大多数语言中,这些都包含在标准库中,主要是 pow(double x, double y)
,但是我自己怎么写呢?
我在考虑 for 循环
,但它认为我的大脑陷入了循环(当我想用非整数指数做幂时,比如 54.5 或否定 2-21) 我疯了 ;)
那么,我该如何编写一个计算实数幂的函数呢?谢谢
哦,也许需要注意的是:我不能使用使用幂的函数(例如 exp
),这将使它最终无用。
最佳答案
负幂不是问题,它们只是正幂的倒数 (1/x
)。
浮点幂只是稍微复杂一点;如您所知,分数幂等价于根(例如 x^(1/2) == sqrt(x)
),并且您还知道,具有相同底数的幂等于将其相加指数。
通过以上所有内容,您可以:
例子:
2^(-3.5) = (2^3 * 2^(1/2)))^-1 = 1 / (2*2*2 * sqrt(2))
https://stackoverflow.com/questions/2882706/