簡體   English   中英

數學對數和整數

[英]Math.Log and round number

var result = Math.Log(1000, 10);
var diff = result - 3;

diff約為-4x10^-16

據我了解,確切的值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

暫無
暫無

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

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