1
的總和
這將是一個非常基本的COMP-SCI的問題。考慮下面的C#(對於JS也是如此,我認爲這是數學如何與雙打一起工作)。
var i = .01;
i+=.01; //i=.02
i+=.01; //i=.03
i+=.01; //i=.04
i+=.01; //i=.05
i+=.01; //i=.0600000000005 (I may have added/missed a few 0s in there)
i+=.01; //i=.07
i+=.01; //i=.08
i+=.01; //i=.09
i+=.01; //i=.0999999999992 (I may have added/missed a few 9s in there)
那麼,發生了什麼事情,我該如何準確預測i + .01的總和呢?
閱讀此內容,看看它是否有幫助:http://csharpindepth.com/Articles/General/FloatingPoint.aspx –
你真的想要解決什麼問題?如果低意義數字的十進制值對您來說很重要,您不應該首先使用「double」。使用'decimal'或類似的結構。 – CodesInChaos
@CodesInChaos我的目標是獲得0到x之間的每隔一百分之一的間隔。我通過做一些分工來解決它,但我想了解數學如何與雙打一起工作。 JonSkeet,現在看看。謝謝。 – Billdr