1
의 합을 예측
이 매우 초보적인 COMP-공상 과학의 문제가 될 것입니다. 다음 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