2009 중등임용 기술 디지털논리회로 1차 34번 정수 표현 범위 기출문제 풀이
2009학년도 중등교사 임용시험 · 기술
다음은 컴퓨터에서 정수를 다루는 방법에 대한 개념 설명이다. 이 설명에 근거하여 10진수 59를 부호가 없는(unsigned) 6비트로 표현한 경우, 이렇게 표현된 2진수를 부호가 있는(signed) 10진수로 나타낸 것은?
컴퓨터에서는 부호가 있는 정수의 경우 0부터 시작하여 n비트로 표현할 수 있는 최대값까지의 개수를 반으로 나누어 반은 양의 정수로, 반은 음의 정수로 사용한다. 따라서 컴퓨터가 정수를 다루는데 5비트만을 정보비트로 사용한다면 부호가 없는 정수의 경우 0부터 31까지 5비트가 표현할 수 있는 모든 값을 2진수로 표현한다.
부호가 있는 정수의 경우, 0부터 15까지는 양수로, -16부터 -1까지는 음수로 사용하되 음수는 2의 보수로 표현하여 5비트로 표현할 수 있는 모든 2진수 값을 사용한다.
- ①-5
- ②-15
- ③-27
- ④-30
- ⑤-59
정답과 해설 보기
① -5
① 먼저 59를 6비트 2진수로 바꿉니다. 32 + 16 + 8 + 2 + 1 = 59 이므로 111011입니다. 부호가 없는 수로 읽으면 그대로 59입니다.
| 자 리 | b₅ | b₄ | b₃ | b₂ | b₁ | b₀ |
|---|---|---|---|---|---|---|
| 자릿값 | 32 | 16 | 8 | 4 | 2 | 1 |
| 59 | 1 | 1 | 1 | 0 | 1 | 1 |
② 같은 비트열을 부호가 있는 수로 읽으면 뜻이 달라집니다. 6비트는 0부터 63까지 64가지를 나타낼 수 있는데, 지문의 설명대로 이를 반으로 나누어 앞의 절반 0~31은 양수로, 뒤의 절반은 -32~-1의 음수로 씁니다.
③ 59는 32보다 크므로 음수 쪽에 속합니다. 이때 값은 원래 수에서 2ⁿ을 빼면 구해집니다. 59 - 64 = -5 이므로 답은 -5, 곧 ①입니다.
④ 2의 보수로 직접 확인해도 같습니다. 111011의 각 비트를 반전하면 000100이고, 여기에 1을 더하면 000101 = 5입니다. 원래 최상위 비트가 1이었으므로 부호를 붙여 -5가 됩니다.
⑤ 지문이 5비트로 설명하고 문제는 6비트를 묻는다는 점에 주의합니다. 설명을 그대로 따라 5비트로 계산하면 59가 표현 범위(0~31)를 벗어나 답이 나오지 않습니다. 지문은 규칙을 알려 주는 예시일 뿐이고, 적용 대상은 6비트입니다.
함정 — ⑤ -59를 고르기 쉬운데, 이는 부호만 바꾼 값(부호-크기 표현)입니다. 이 문제는 2의 보수 방식이므로 단순히 음의 부호를 붙이는 것이 아닙니다.
키워드컴퓨터구조수의표현2의보수부호있는정수표현범위
댓글
댓글 쓰기