🏠 전체 위키 수학 위키 지도 목록 사전
더보기

진법과 이진법

대수 중등 · 교육과정: 정규 교육과정 외 — 10 대신 다른 수를 자리값의 기준으로 삼는 표기법. 컴퓨터의 수 표현이 여기서 출발한다. · v1 · 🤖 LLM 버전

🧭 선수 개념 — 이 문서는 다음을 안다는 전제로 쓰였어요: 자연수 (초등) · 나눗셈 (초등) · 지수 (고등)

이 개념은 정규 교육과정 밖에 있지만, 10 대신 다른 수를 자리값의 기준으로 삼는 표기법이며 컴퓨터의 수 표현이 여기서 출발한다.

정의

진법(numeral system, 자릿값 표기법)은 수를 나타낼 때 한 자리씩 올라갈 때마다 값이 일정한 배수로 커지도록 정한 표기 방법이다. 이때 몇 배씩 커지는지를 정하는 수를 그 진법의 밑(base)이라 하고, 각 자리에 쓸 수 있는 숫자는 $0$부터 (밑$-1$)까지다.

$n$진법으로 쓴 수 $a_k a_{k-1}\cdots a_1 a_0$(각 $a_i$는 $0\le a_i \le n-1$인 정수)가 실제로 나타내는 값은

$$a_k \times n^k + a_{k-1}\times n^{k-1} + \cdots + a_1 \times n + a_0$$

이다. 이진법 수임을 표시할 때는 $1101_{(2)}$처럼 밑을 아래 첨자로 붙인다.

직관

십진법이 익숙한 이유는 손가락이 열 개라서 열 개까지 세면 "자리를 하나 올려서" 다시 세기 시작하기 때문이다. 만약 스위치처럼 두 가지 상태(꺼짐/켜짐, $0$/$1$)만 구별할 수 있다면, 열까지 세지 못하고 둘까지 세면 바로 자리를 올려야 한다 — 그것이 이진법이다. 컴퓨터 회로는 전압이 낮은지 높은지 두 상태만 안정적으로 구별하므로, 자연스럽게 이진법으로 모든 정보를 표현한다.

유도

자연수를 나눗셈으로 나타내면 항상 "몫과 나머지"로 쪼갤 수 있다는 사실에서 출발한다.

문제: 어떤 자연수 $N$을 $n$진법으로 쓰려면, $N = a_k n^k + a_{k-1}n^{k-1} + \cdots + a_1 n + a_0$을 만족하는 자리 숫자 $a_0, a_1, \dots, a_k$를 찾아야 한다. 이걸 어떻게 구할까?

  1. 맨 끝자리 $a_0$부터 보자. 식에서 $a_0$을 뺀 나머지 항 $a_k n^k + \cdots + a_1 n$은 모두 $n$의 배수다($n$이 공통으로 곱해져 있으므로). 따라서 $N$을 $n$으로 나누면, 나누어지지 않고 남는 부분이 바로 $a_0$이다. 즉 $a_0 = N$을 $n$으로 나눈 나머지.
  2. 이제 $N - a_0$을 $n$으로 나누면 $\dfrac{N-a_0}{n} = a_k n^{k-1} + \cdots + a_1$이 남는다. 이는 처음 문제와 똑같은 모양인데, 자릿수만 하나 줄었다. 그래서 이 몫을 다시 $n$으로 나누면 $a_1$을 얻는다.
  3. 이 과정(나누고 나머지를 적고, 몫을 다시 나누기)을 몫이 $0$이 될 때까지 반복하면 $a_0, a_1, \dots, a_k$를 순서대로 모두 얻는다.

예를 들어 $13$을 이진법($n=2$)으로 바꿔 보자.

$$13 \div 2 = 6 \text{ 나머지 } 1 \;(a_0=1)$$ $$6 \div 2 = 3 \text{ 나머지 } 0 \;(a_1=0)$$ $$3 \div 2 = 1 \text{ 나머지 } 1 \;(a_2=1)$$ $$1 \div 2 = 0 \text{ 나머지 } 1 \;(a_3=1)$$

몫이 $0$이 되었으니 멈추고, 나머지를 거꾸로(마지막에 나온 것부터) 읽으면 $1101_{(2)}$. 검산: $1\times 8 + 1\times 4 + 0\times 2 + 1\times 1 = 13$. 이렇게 나눗셈의 나머지를 반복해서 뽑아내는 과정이 곧 진법 변환의 정의이자 방법이다.

예시

🌍 실생활 예시

컴퓨터 안의 모든 정보(글자, 그림, 소리)는 결국 이진법 숫자열로 저장된다. 예를 들어 화면의 색은 빨강·초록·파랑을 각각 $0\sim255$까지 8자리 이진수(비트 8개, "1바이트")로 표현하는데, $255$는 $11111111_{(2)}$로 8자리를 모두 $1$로 채운 값이고 이보다 큰 값은 8비트로 표현할 수 없다. 전자 회로가 전압의 "높음/낮음" 두 상태만 정확히 구별할 수 있기 때문에, 십진법 대신 이진법이 계산기·컴퓨터의 기본 표기법으로 쓰인다.

⚠️ 흔한 실수

확인 문제

  1. 이진법 $1011_{(2)}$을 십진법으로 바꾸시오.
  2. 십진법 $26$을 나눗셈 과정을 직접 써서 이진법으로 바꾸시오.
  3. 사람 손가락이 $10$개가 아니라 $5$개였다면 우리는 자연스럽게 오진법(밑이 $5$)을 썼을 것이다. 십진법 $23$을 오진법으로 바꾸는 과정을, 유도 과정에서 쓴 "나눗셈으로 나머지를 뽑아내는" 방법을 그대로 적용해서 구해 보시오. 왜 이 방법이 통하는지도 한 줄로 설명해 보시오.
정답 보기
  1. $1\times8+0\times4+1\times2+1\times1=8+2+1=11$.
  2. $26\div2=13\,\text{r}0$, $13\div2=6\,\text{r}1$, $6\div2=3\,\text{r}0$, $3\div2=1\,\text{r}1$, $1\div2=0\,\text{r}1$ → 거꾸로 읽어 $11010_{(2)}$. (검산: $16+8+0+2+0=26$)
  3. $23\div5=4\,\text{r}3$, $4\div5=0\,\text{r}4$ → 거꾸로 읽어 $43_{(5)}$. 이 방법이 통하는 이유는 $N$을 밑으로 나눈 나머지가 항상 그 진법의 맨 끝자리(가장 낮은 자리) 숫자이기 때문이다 — 나머지를 뺀 나머지 부분은 항상 밑의 배수라서, 몫을 다시 나누면 그다음 자리를 똑같은 방식으로 구할 수 있다.

📜 역사

여러 문명이 $10$이 아닌 다른 밑을 쓰기도 했다. 예를 들어 바빌로니아 사람들은 각도와 시간을 나타낼 때 $60$진법의 흔적을 남겼는데, 오늘날 한 시간을 $60$분, 원을 $360$도로 나누는 관습이 여기서 이어진다. 이진법 자체는 17세기에 독일의 수학자 라이프니츠(Gottfried Leibniz)가 $0$과 $1$만으로 모든 수를 나타내는 체계를 정리해 소개한 것으로 알려져 있다. 20세기에 들어 불(Boole) 논리의 참/거짓과 이진법의 $1/0$이 전기 회로의 켜짐/꺼짐 상태와 정확히 대응한다는 점이 알려지면서, 이진법은 전자 계산기와 컴퓨터의 기본 표기법으로 채택되었다. "비트(bit)"라는 말은 "이진 숫자(binary digit)"를 줄인 말로, 20세기 중반 정보 이론이 발전하면서 널리 쓰이게 되었다.

관련 개념

연결 문서 그래프 (4)

굵은 테두리가 현재 문서, → 화살표는 선수 관계(선수 → 후속)예요. 노드를 누르면 해당 문서로 이동합니다. 전체 그래프 보기