如都知道decimal fractions
(如0.1),當作爲存儲floating point
(如雙或浮動)將在內部中的「二進制格式」(IEEE 754)表示。而一些小數不能直接用二進制格式表示。浮點運算=從十二進制到二進制最差的精度/差異是多少?
我沒有理解什麼是這種「轉換」的精度:
1)浮點本身可以有一個精度(即是「顯著」)?
2.)但是從小數部分到二進制部分的轉換也有精度損失?
問:
是什麼(對於「所有」可能的小數)從小數轉換爲浮點分數時,最壞的情況下精度損失?
(我想知道這種情況的原因是,比較二進制/浮點分數小數時,我需要精確到...,以確定這兩個數字都相同的。而且我想這個精度是緊/精確儘可能(decimal fraction == binary fraction +/- precision)
實施例(只是假設)
0,1 dec => 0,10000001212121212121212 (binary fraction double) => precision loss 0,00000001212121212121212
0,3 dec => 0,300000282828282 (binary fraction double) => precision loss 0,000000282828282
這是絕對差異還是百分比差距?您的示例顯示了絕對差異,但在某些情況下可能更有意義找到最大差異情況。 –
你好德蘭,非常好點。也許百分比精確度損失會更相關? – Markus
請避免多個問號。一個就足夠了。 –