2016-09-27 22 views
1
var result = Math.Log(1000, 10); 
var diff = result - 3; 

diff約爲-4x10^-16Math.Log和整數

正如我的理解,精確值3可以存儲在雙:

3 (base 10) = 1.1x10^1 (base 2) 

我錯了或這是否意味着Math.Log是不準確的,至少值1000?

+0

浮點數字可能不準確, – Matt

+0

@馬特據我瞭解,3可以準確地存儲在一個浮點數值(見值3基地2在我的文章) – krimog

回答

1

我建議你使用Math.Log10情況下

var result1 = Math.Log(1000, 10); //result1: 2.9999999999999996 
var result2 = Math.Log10(1000); //result2: 3 
+0

它的工作,謝謝 – krimog