Toolyard

수 체계와 데이터: 학습 가이드

핵심 개념

컴퓨터는 수를 2진법으로 저장하고 사람은 8진법이나 16진법으로 읽는다. 진법 변환, 값에 필요한 비트 수 계산, 부호 있는 값 읽기는 모두 기수의 거듭제곱인 자릿값을 쓴다.

  • 각 자리는 기수의 거듭제곱으로 가중된다. 2진법에서는 오른쪽부터 1, 2, 4, 8, 16 순으로 이어진다.
  • 16진수 한 자리는 4비트, 8진수 한 자리는 3비트에 해당하므로 비트를 묶으면 바로 변환된다.
  • n개의 항목에 서로 다른 부호를 주려면 ⌈log₂ n⌉비트가 필요하다. n비트는 2ⁿ가지 값을 담는다.
  • 8비트 2의 보수에서 맨 앞의 1은 음수를 뜻한다. 값은 부호 없는 값에서 256을 뺀 것이다.

핵심 식

  • value = Σ dᵢ × bⁱ
  • bits needed = ⌈log₂ n⌉
  • n bits hold 2ⁿ values
  • two’s complement: value = unsigned − 2ⁿ when the top bit is 1

풀이 예제

2진수 101101은 32 + 8 + 4 + 1 = 45이다. 16진수 2F는 2 × 16 + 15 = 47이다. 8진수 157은 64 + 40 + 7 = 111이다. 200개 항목에 서로 다른 부호를 주려면 8비트가 필요한데, 2⁷ = 128은 부족하고 2⁸ = 256이면 충분하기 때문이다. 8비트 패턴 11110110은 부호 없이 246이므로 2의 보수로는 246 − 256 = −10이다. 패턴 10110111에는 1인 비트가 6개 있다.

자주 하는 실수

  • 가장 오른쪽 자리에 가중치 1을 주지 않고 2진 자릿값을 왼쪽부터 읽는 것.
  • 비트 수를 내림하는 것. 200개 항목에는 7이 아니라 8비트가 필요하다.
  • 2의 보수에서 맨 앞이 1인 패턴을 양수로 취급하는 것.

연습

이 주제의 연습 문제로 실력을 확인해 보세요: 수 체계와 데이터

이 가이드에서 쓰는 도구

다른 가이드