컴퓨터 산술

부호 없는 8비트 수끼리를 곱했을 때 결과를 오버플로 없이 나타내는 데 필요한 비트 수는 무엇입니까?

  1. A8비트
  2. B9비트
  3. C16비트
정답과 해설 보기

정답: C. 16비트

8비트 부호 없는 수의 최댓값은 255이므로 최대 곱은 255 × 255 = 65025입니다. 이는 2¹⁶ = 65536보다 작고 2¹⁵ = 32768보다 크므로 16비트라면 반드시 나타낼 수 있고 15비트로는 부족합니다. 일반적으로 n비트와 m비트 수의 곱은 n + m비트로 나타낼 수 있습니다. 그래서 승산기의 출력은 입력의 2배 폭을 가지는 것이 보통입니다. 9비트는 덧셈 결과(합은 n + 1비트)에 필요한 폭입니다.

이 분야 연습하기 분야로 돌아가기

컴퓨터 산술의 다른 문제

  1. 정수 x를 10배 하는 계산을 곱셈 명령을 쓰지 않고 시프트와 덧셈으로 수행하는 식으로 올바른 것은 무엇입니까?
  2. 일반적인 정수 제산기(1비트씩 몫을 구하는 복원형·비복원형 등)가 승산기보다 느려지기 쉬운 이유로 올바른 것은 무엇입니까?
  3. 8비트 부호 있는 정수에서 −8(1111 1000)을 산술 오른쪽 시프트로 1비트 오른쪽으로 이동한 결과는 무엇입니까?
  4. C 언어에서 int형의 −7 / 2와 −7 >> 1(산술 오른쪽 시프트인 경우)의 결과 조합으로 올바른 것은 무엇입니까?
  5. C 언어에서 32비트 부호 없는 정수(unsigned int)의 0에서 1을 뺀 결과는 무엇입니까?