Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win32
>>> print '%.100f' % (9999.0/10000)
0.9999000000000000110134124042815528810024261474609375000000000000000000000000000000000000000000000000
從原理上闡述下為什么產(chǎn)生這樣的誤差?
2 回答

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
可以參考IEEE的浮點(diǎn)數(shù)標(biāo)準(zhǔn)
浮點(diǎn)數(shù)在計(jì)算機(jī)中的存儲(chǔ)往往采取這個(gè)標(biāo)準(zhǔn), 其只能精確表示2^x的倍數(shù), 而除此之外的其它數(shù)字只能盡量逼近.因此使用浮點(diǎn)數(shù)是會(huì)有誤差的.
添加回答
舉報(bào)
0/150
提交
取消