2009 중등임용 기술 디지털논리회로 모의1차 34번 IEEE-754 단정도 부동소수점 표현 기출문제 풀이
2009학년도 중등교사 임용시험 · 기술
십진수 ‘78.875’를 4바이트 실수로 표현할 때, 이진수의 값을 지수부와 가수부로 바르게 나타낸 것은? (단, 표현은 IEEE-754 표준안을 따른다.)
정답과 해설 보기
①
① 정수부와 소수부를 따로 2진수로 바꿉니다. 78은 64 + 8 + 4 + 2 이므로 1001110이고, 0.875는 0.5 + 0.25 + 0.125 이므로 0.111입니다. 두 값을 이어 붙이면 1001110.111이 됩니다.
② IEEE-754는 소수점 왼쪽에 1만 남도록 정규화합니다. 1001110.111에서 소수점을 왼쪽으로 여섯 칸 옮기면 1.001110111 × 2⁶ 이 되고, 이때 지수는 6입니다. 맨 앞의 1은 항상 1이므로 저장하지 않습니다. 이를 숨은 비트(hidden bit)라고 합니다.
③ 지수부는 음수 지수도 담아야 하므로 바이어스 127을 더해 저장합니다. 6 + 127 = 133 이고 이를 8비트로 쓰면 10000101입니다. 가수부는 숨은 비트를 뺀 나머지 001110111을 왼쪽에 붙이고 오른쪽을 0으로 채워 23비트를 만듭니다. 78.875는 양수이므로 부호 비트는 0입니다.
| 단 계 | 내 용 |
|---|---|
| 정수부 | 78 = 64 + 8 + 4 + 2 → 10011102 |
| 소수부 | 0.875 = 0.5 + 0.25 + 0.125 → 0.1112 |
| 이진수 | 78.875 = 1001110.1112 |
| 정규화 | 소수점을 왼쪽으로 6칸 옮겨 1.001110111 × 2⁶ |
| 지수부 | 6 + 127 = 133 = 100001012 |
| 가수부 | 정규화한 소수부 001110111 뒤를 0으로 채워 23비트 |
| 구 분 | 값 |
|---|---|
| 부호 (31) | 0 → 양수 |
| 지수부 (30~23) | 1 0 0 0 0 1 0 1 → 133 = 6 + 127 |
| 가수부 (22~0) | 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
④ 오답을 살펴보면 어디서 틀리는지 드러납니다. ④는 지수부가 10000110 = 134, 곧 지수를 7로 본 경우입니다. 정수부 1001110의 자릿수가 7개인 것을 지수로 착각하기 쉬운데, 실제 지수는 소수점을 옮긴 횟수인 6입니다.
⑤ ⑤는 지수부가 00000110 = 6으로, 바이어스 127을 더하지 않은 값입니다. ②는 지수부에 78을 그대로 넣은 경우이고, ③은 지수 자리가 5로 어긋나 있습니다.
선택지 좁히기 — 가수부는 ①·④·⑤가 모두 001110111로 같습니다. 이 문제는 사실상 지수부만 정확히 구하면 풀립니다.
키워드컴퓨터구조부동소수점IEEE754정규화바이어스지수
댓글
댓글 쓰기