我Math.log在 C# 中使用时遇到问题,它给了我错误的值。
在我的代码中:
Math.log(0.137931034482758)
Run Code Online (Sandbox Code Playgroud)
返回: -1.98100146886658
但是用计算器
log(0.137931034482758)
Run Code Online (Sandbox Code Playgroud)
给 -0.86033800657099
这是为什么?
log(n) 和 ln(n) 之间似乎有点混淆,其中 log(n) 实际上是 log 10 (n),而 ln(n) 是自然对数,相当于 log e (n) 和
所以,数学上
log(0.137931034482758) = -0.86033800657099565123053753815789
Run Code Online (Sandbox Code Playgroud)
但
ln(0.137931034482758) = -1.9810014688665879083488077894557
Run Code Online (Sandbox Code Playgroud)
看起来 Math.Log 使用自然对数。
如果您想要 log 10 (n),则使用Math.Log10(n)或Math.Log(n, 10)代替。