# 진법과 이진법 분야: 대수 학교급: 중등 교육과정: 정규 교육과정 외 — 10 대신 다른 수를 자리값의 기준으로 삼는 표기법. 컴퓨터의 수 표현이 여기서 출발한다. 정식 URL: https://pi.devxdev.xyz/wiki/math/%EC%A7%84%EB%B2%95%EA%B3%BC_%EC%9D%B4%EC%A7%84%EB%B2%95 --- > 이 개념은 정규 교육과정 밖에 있지만, 10 대신 다른 수를 자리값의 기준으로 삼는 표기법이며 컴퓨터의 수 표현이 여기서 출발한다. ## 정의 **진법**(numeral system, 자릿값 표기법)은 수를 나타낼 때 한 자리씩 올라갈 때마다 값이 일정한 배수로 커지도록 정한 표기 방법이다. 이때 몇 배씩 커지는지를 정하는 수를 그 진법의 **밑**(base)이라 하고, 각 자리에 쓸 수 있는 숫자는 $0$부터 (밑$-1$)까지다. - **십진법**: 밑이 $10$이다. $0,1,\dots,9$의 열 개 숫자를 쓰고, 한 자리 올라갈 때마다 값이 $10$배 커진다. - **이진법**: 밑이 $2$다. $0,1$ 두 개 숫자만 쓰고, 한 자리 올라갈 때마다 값이 $2$배 커진다. $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$. 이렇게 나눗셈의 나머지를 반복해서 뽑아내는 과정이 곧 진법 변환의 정의이자 방법이다. ## 예시 - $45$를 이진법으로: $45\div2=22\,\text{r}1$, $22\div2=11\,\text{r}0$, $11\div2=5\,\text{r}1$, $5\div2=2\,\text{r}1$, $2\div2=1\,\text{r}0$, $1\div2=0\,\text{r}1$ → 나머지를 거꾸로 읽어 $101101_{(2)}$. - $101101_{(2)}$을 십진법으로: $1\times32+0\times16+1\times8+1\times4+0\times2+1\times1 = 32+8+4+1 = 45$. - 이진법 $1000_{(2)} = 1\times 2^3 = 8$, 십진법 $8$과 같다. ## 🌍 실생활 예시 컴퓨터 안의 모든 정보(글자, 그림, 소리)는 결국 이진법 숫자열로 저장된다. 예를 들어 화면의 색은 빨강·초록·파랑을 각각 $0\sim255$까지 8자리 이진수(비트 8개, "1바이트")로 표현하는데, $255$는 $11111111_{(2)}$로 8자리를 모두 $1$로 채운 값이고 이보다 큰 값은 8비트로 표현할 수 없다. 전자 회로가 전압의 "높음/낮음" 두 상태만 정확히 구별할 수 있기 때문에, 십진법 대신 이진법이 계산기·컴퓨터의 기본 표기법으로 쓰인다. ## ⚠️ 흔한 실수 - **잘못된 생각**: 이진법 $1101_{(2)}$을 보고 그냥 "천백일"처럼 읽거나 십진법 $1101$과 같은 수라고 생각한다. → **왜 틀렸는지**: 이진법에서 각 자리는 $2$의 거듭제곱을 뜻하므로 $1101_{(2)}=13$이지 $1101$이 아니다. 밑을 반드시 확인해야 한다. - **잘못된 생각**: 나눗셈으로 진법을 변환할 때 나머지를 나온 순서 그대로(위에서 아래로) 읽는다. → **왜 틀렸는지**: 가장 먼저 나온 나머지가 $a_0$(가장 낮은 자리)이므로, 자릿수는 마지막 나머지부터 거꾸로 읽어야 원래 순서가 맞는다. - **잘못된 생각**: 이진법 수를 쓰다가 $2$라는 숫자를 그대로 쓴다(예: $12_{(2)}$). → **왜 틀렸는지**: 이진법에서 한 자리에 쓸 수 있는 숫자는 $0,1$뿐이다. 값이 $2$가 되면 그 자리는 $0$이 되고 윗자리로 $1$이 올라가야 한다($10_{(2)}$처럼). ## 확인 문제 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세기 중반 정보 이론이 발전하면서 널리 쓰이게 되었다. ## 관련 개념 - 자연수 - 나눗셈 - 지수 - 소인수분해 --- 관련 개념: - 자연수 (/wiki/math/%EC%9E%90%EC%97%B0%EC%88%98) - 나눗셈 (/wiki/math/%EB%82%98%EB%88%97%EC%85%88) - 지수 (/wiki/math/%EC%A7%80%EC%88%98) - 소인수분해 (/wiki/math/%EC%86%8C%EC%9D%B8%EC%88%98%EB%B6%84%ED%95%B4)