티스토리 뷰

컴퓨터 언어에서 0.1+0.2 == 0.3 #FALSE 인 이유?


이진수에서 0.1은 정확히 표현할 수 없으며 1/16 plus 1/32 plus 1/256 plus 1/512 plus 1/4096 plus 1/8192 plus 1/65536 등으로 표현됩니다. 이런 식으로 0.09999084472를 얻습니다. 이것은 16 진법 소수점 이하 자릿수입니다.


(원문)

In a binary fraction, 0.1 is not representable exactly, it's represented as 1/16 plus 1/32 plus 1/256 plus 1/512 plus 1/4096 plus 1/8192 plus 1/65536 and so on.  going out that far you get 0.09999084472, that's with sixteen binary fraction digits.



출처: https://www.quora.com/Why-is-0-1+0-2-not-equal-to-0-3-in-most-programming-languages