1
var result = Math.Log(1000, 10);
var diff = result - 3;
diff
約爲-4x10^-16
。Math.Log和整數
正如我的理解,精確值3可以存儲在雙:
3 (base 10) = 1.1x10^1 (base 2)
我錯了或這是否意味着Math.Log是不準確的,至少值1000?
var result = Math.Log(1000, 10);
var diff = result - 3;
diff
約爲-4x10^-16
。Math.Log和整數
正如我的理解,精確值3可以存儲在雙:
3 (base 10) = 1.1x10^1 (base 2)
我錯了或這是否意味着Math.Log是不準確的,至少值1000?
我建議你使用Math.Log10
情況下
var result1 = Math.Log(1000, 10); //result1: 2.9999999999999996
var result2 = Math.Log10(1000); //result2: 3
它的工作,謝謝 – krimog
浮點數字可能不準確, – Matt
@馬特據我瞭解,3可以準確地存儲在一個浮點數值(見值3基地2在我的文章) – krimog