Math.log()用c#给我错误的值

时间:2018-04-25 14:01:16

标签: c#

我在C#中使用Math.log时遇到问题,它给了我错误的值。

在我的代码中:

Math.log(0.137931034482758)  

返回:-1.98100146886658

但是用计算器

log(0.137931034482758)  

给出-0.86033800657099

为什么?

2 个答案:

答案 0 :(得分:3)

log(n)和ln(n)之间似乎有点混淆,其中log(n)实际上是log 10 (n),而ln(n)是自然对数,是相当于log e (n)和

所以,数学上

log(0.137931034482758) = -0.86033800657099565123053753815789

ln(0.137931034482758) = -1.9810014688665879083488077894557

看起来Math.Log使用自然对数。

如果您想要日志 10 (n),请改用Math.Log10(n)Math.Log(n, 10)

答案 1 :(得分:0)

作为Daisy sais:

基础log(-1.98100146886658)

e-1.98100146886658

基础log(-1.98100146886658)

10-0.86033800657099

Math.log使用每个默认e作为基础https://msdn.microsoft.com/de-de/library/x80ywz41(v=vs.110).aspx

你的计算器显然使用了使用基础10。