我想知道我们如何使用math库计算功率值?我已经检查了大多数方法都是使用math库来实现的计算功率值的方法(即,math.Pow)。例如,如果我们想计算 3^2,我们可以像3**2在 Python 中那样做,所以我很好奇是否可以通过数学符号做类似 Python 的方式来在 Go 中计算它?谢谢!
2 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
没有 Go 运算符(“数学符号”)可以执行此操作,但如果指数是常数,您当然可以只写x*xx^2 或x*x*xx^3。
如果指数不是常量而是整数,计算 n^exp 的一种简单方法是使用重复乘法,如下所示:
func pow(n float64, exp int) float64 {
if exp < 0 { // handle negative exponents
n = 1 / n
exp = -exp
}
result := 1.0
for i := 0; i < exp; i++ {
result *= n
}
return result
}
也就是说,我不确定您为什么要避免math.Pow使用它——它在标准库中,而且速度更快、更通用。
皈依舞
TA贡献1851条经验 获得超3个赞
如果数字是整数,那么这应该有效:
package main
import (
"fmt"
)
func main() {
number := 4
power := 5
result := 1
for power != 0 {
result = result * number
power = power - 1
}
fmt.Println(result)
}
- 2 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消