컴퓨터 산술
10진수 0.1을 2진수 부동소수점수로 나타냈을 때의 설명으로 올바른 것은 무엇입니까?
- A2진수로도 정확히 0.1로 나타낼 수 있으므로 오차는 생기지 않는다
- B2진수에서는 무한히 계속되는 소수가 되므로, 반올림한 가까운 값으로 나타내게 된다
- C2진수로 나타내면 원래 값보다 정확히 10배 큰 값이 된다
정답과 해설 보기
정답: B. 2진수에서는 무한히 계속되는 소수가 되므로, 반올림한 가까운 값으로 나타내게 된다
10진수 0.1은 2진수로 하면 0.000110011001100…으로 0011이 무한히 반복되는 소수가 됩니다. 부동소수점에서는 가수의 자릿수가 한정되어 있으므로 도중에 반올림한 가까운 값만 기록할 수 있어 약간의 오차가 생깁니다. 분모가 2의 거듭제곱이 아닌 분수는 모두 2진수로 유한한 자릿수로는 나타낼 수 없습니다. 반면 0.5나 0.25처럼 분모가 2의 거듭제곱인 수는 정확히 나타낼 수 있습니다. 값이 10배가 되는 변환은 일어나지 않습니다.