← 홈으로

CS · 2025/08

손가락이 10개라서 십진법, 전기가 두 갈래라서 이진법

컴퓨터는 복잡한 게임도 돌리고, 영상 편집도 하고, 인터넷 검색도 해낸다. 그런데 이 모든 걸 처리하는 데 쓰이는 숫자는 딱 두 개다.

0과 1.

사진, 음악, 메시지, 이 글까지 전부 0과 1의 조합이다. 왜 하필 두 개냐면, 전기 때문이다.


왜 하필 0과 1일까

인간은 손가락 덕분에 10진법

0부터 9까지 열 개의 숫자를 쓰는 이유는 단순하다. 손가락이 10개다. 수를 세기 시작할 때 가장 편한 도구가 손이었고, 그래서 10을 기준으로 하는 체계가 자리잡았다.

컴퓨터에게는 전기가 손가락

전기에는 두 가지 상태만 있다.

  • 흐름(ON) = 1
  • 멈춤(OFF) = 0

전기는 왜 두 가지 상태가 편할까

10진법을 컴퓨터에 적용하려면 전압을 10단계로 나눠야 한다.

  • 0V → 0
  • 1V → 1
  • 2V → 2
  • ...
  • 9V → 9

문제는 전기 신호가 깔끔하지 않다는 점이다. 노이즈가 끼고, 온도에 따라 변하고, 부품이 오래되면 조금씩 달라진다. 2V여야 할 신호가 1.8V나 2.3V가 되는 순간, 컴퓨터는 이게 1인지 2인지 판단할 수 없다.

2진법은 이 문제를 기준값 하나로 해결한다. 기준을 2.5V로 잡으면:

  • 2.5V 이상 → 1
  • 2.5V 미만 → 0

중간 지대가 없다. 약간의 노이즈가 있어도 판단이 흔들리지 않는다.


2진법 읽는 법

10진수 321을 풀면:

3 × 100 + 2 × 10 + 1 × 1 = 321

각 자리가 10의 거듭제곱이다. 2진법도 같은 구조인데, 10 대신 2의 거듭제곱을 쓴다.

2진수 1011₂ =
1×8 + 0×4 + 1×2 + 1×1 = 11₁₀
자리값8421
2진수1011

10진수 → 2진수 변환

10진수 13을 2진수로 바꾸는 과정:

13 ÷ 2 = 몫 6, 나머지 1
 6 ÷ 2 = 몫 3, 나머지 0
 3 ÷ 2 = 몫 1, 나머지 1
 1 ÷ 2 = 몫 0, 나머지 1

나머지를 아래서부터 읽으면 1101₂

검증: 1×8 + 1×4 + 0×2 + 1×1 = 13 ✔


모든 디지털 정보는 숫자다

텍스트

문자는 고유 번호(ASCII 코드)로 저장된다.

  • 'A' → 65 → 01000001₂
  • '안' → 50504 → 1100010101001000₂

이미지

각 픽셀의 색깔이 RGB 숫자로 저장된다.

  • 빨간색 → (255, 0, 0) → (11111111₂, 00000000₂, 00000000₂)
  • 노란색 → (255, 255, 0) → (11111111₂, 11111111₂, 00000000₂)

음악

컴퓨터는 1초에 44,100번 또는 96,000번 소리를 측정해서 각각을 숫자로 기록한다. 어떤 노래든 결국 수만 개의 숫자 리스트고, 그 숫자들이 전부 0과 1로 저장된다.


비트가 하나 늘어날 때마다

두 개의 숫자만으로 표현할 수 있는 경우의 수는 비트가 늘어날수록 빠르게 커진다.

  • 8비트 → 256가지 (2⁸)
  • 16비트 → 65,536가지 (2¹⁶)
  • 32비트 → 약 42억 가지 (2³²)
  • 64비트 → 약 1800경 가지 (2⁶⁴)

비트 하나가 추가될 때마다 경우의 수가 두 배로 늘어난다. 단순한 원리가 이 규모의 확장성을 만든다.


선택이 아니라 필연

컴퓨터가 0과 1만 쓰는 이유를 정리하면:

  1. 물리적 제약 — 전기 신호는 켜짐/꺼짐만 안정적으로 구분 가능
  2. 논리적 명확성 — 애매함이 없어 오류가 적음
  3. 무한한 확장성 — 단순한 조합으로 복잡한 정보 표현 가능
  4. 보편적 호환성 — 모든 디지털 기기가 같은 기준 사용

손가락이 10개라서 십진법, 전기가 두 갈래라서 이진법이다. 전기라는 재료에서 출발하면 0과 1 외에 다른 선택지가 없었다.