1. 程式人生 > >0.1+0.2為什麽不等於0.3

0.1+0.2為什麽不等於0.3

tor 存儲 數據 view 什麽 http cnblogs 質因子 等於

首先,對於不同的進制數值系統,分母為多少時能除幹凈?

答案是當以前進制數的質因子為分母時,以十進制為例,它的質因子為2、5,因此1/2、1/4、1/5、1/8和 1/10都能被除幹凈,相反,1/3、1/6 和 1/結果都是循環小數。

那麽二進制時,質因子為2,所以1/2、1/4 和 1/8都可以被精確表示,1/5 或者 1/10就變成了循環小數,那麽0.2與0.1成了循環小數。

而計算機天生只能存儲整數,它只能用某種方法來表示小數,例如使用浮點數,可見:https://www.cnblogs.com/yanze/p/10112673.html ,用這種方式,碰到除不凈的情況,只能對數據進行截斷處理,精度喪失。

因此0.1+0.2!=0.3。

備註:可以認為:除不凈即無法被精確表達。

0.1+0.2為什麽不等於0.3