簡體   English   中英

Math.log()使用C#給我錯誤的值

[英]Math.log() is giving me wrong values with c#

我在C#中使用Math.log時遇到問題,這給了我錯誤的值。

在我的代碼中:

Math.log(0.137931034482758)  

返回: -1.98100146886658

但是用計算器

log(0.137931034482758)  

給出-0.86033800657099

這是為什么?

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)

正如黛西所說:

基於e log(-1.98100146886658)-1.98100146886658

10-0.86033800657099 log(-1.98100146886658)-0.86033800657099

Math.log默認使用e作為基礎https://msdn.microsoft.com/de-de/library/x80ywz41(v=vs.110).aspx

而且您的計算器顯然使用使用基准10。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM