본문 바로가기
✘✘✘ 개발일기

부동 소수점: 0.1을 100번 더하면 10이 아니다?? Floating Point

by PrettyLog 2023. 3. 1.
let sum = 0;
for (let i = 0; i < 100; i++) {
    sum += 0.1
}

console.log(sum); // 9.99999999999998

263.3 같은 실수를 2진수로 표현해 보면
(상세 방법은 유튜브 영상에 자세히 나와 있습니다.)

263 => 100000111
0.3 => 0.01001100110011......(0011)의 무한 반복입니다.
이렇게 2진수로 표현하지 못하는 소수가 발생합니다. 어쩔 수 없이 컴퓨터에는 표현할 수 있는 가장 근사치의 값이 저장됩니다.

읽어 보기

댓글