对不起,但是我无法理解math.Exp
在以下代码块中到底在做什么:
package main
import (
"fmt"
"math"
)
func main() {
for x := 0; x < 8; x++ {
fmt.Printf("x = %f ex = %8.3f\n", float64(x), math.Exp(float64(x)))
}
}
以上程序的输出为:
x = 0.000000 ex = 1.000
x = 1.000000 ex = 2.718
x = 2.000000 ex = 7.389
x = 3.000000 ex = 20.086
x = 4.000000 ex = 54.598
x = 5.000000 ex = 148.413
x = 6.000000 ex = 403.429
x = 7.000000 ex = 1096.633
而且,我无法理解math.Exp
函数在内部所做的确切工作以及如何将float64(x)
转换为相应的值,如输出所示。我已阅读go
的{{3}},内容如下:
Exp返回e ** x,x的基数e。
我对math.Exp
函数的用途和机制不太清楚。
我实际上对底层的二进制/数学运算感兴趣。
答案 0 :(得分:3)
它返回e^x
的值(也表示为e**x
或简称为exp(x)
)。
该功能基于数字e=2.71828...
[1],该数字(除其他定义外)定义为:
Lim (1+1/n)^n when n tends to infinity
特别地,function e^x
具有许多使其特别的属性,但最重要的事实是函数本身等于其derivative,即:< / p>
Let f(x)=e^x, then f'(x)=e^x
这转化为一个事实,slope在某一点上的值等于该函数在该点上的值。