왜 컴퓨터는 2진수를 쓸까

우리는 0부터 9까지 열 개의 숫자로 수를 셉니다. 그런데 컴퓨터는 0과 1 딱 두 개만 씁니다. 왜 하필 둘일까요? 그리고 겨우 두 개로 어떻게 그 큰 숫자와 사진, 영상까지 다룰까요? 답은 생각보다 단순합니다. 전기 스위치 하나에서 출발해, 비트와 자릿값의 원리까지 차근차근 풀어 볼게요.

최종 업데이트: 2026년 7월

1. 시작은 전기 스위치 하나

컴퓨터 안에는 아주 작은 전기 스위치가 수십억 개 들어 있습니다. 이 스위치가 할 수 있는 일은 딱 두 가지예요. 전기가 흐른다(켜짐), 아니면 안 흐른다(꺼짐). 이 두 상태를 숫자로 적으면 자연스럽게 1과 0이 됩니다.

여기서 핵심은 "왜 두 개냐"입니다. 켜짐과 꺼짐은 구별하기 쉽습니다. 전압이 조금 흔들려도 "전기가 있다 / 없다"는 헷갈릴 일이 거의 없죠. 만약 0부터 9까지 열 단계의 전압으로 숫자를 구분하려 하면, 3인지 4인지 애매한 경계에서 오류가 쏟아집니다. 그래서 컴퓨터는 가장 확실하게 구분되는 두 상태를 골랐고, 그게 2진수의 출발점입니다.

2. 비트와 바이트

이 스위치 하나가 담는 정보, 즉 0이나 1 하나를 비트(bit)라고 부릅니다. 비트 하나로는 두 가지(0, 1)밖에 표현하지 못하지만, 여러 개를 나란히 놓으면 경우의 수가 빠르게 늘어납니다.

비트 수표현할 수 있는 경우의 수
1비트2가지0, 1
2비트4가지00, 01, 10, 11
3비트8가지000 ~ 111
8비트256가지00000000 ~ 11111111

비트를 하나 늘릴 때마다 경우의 수가 두 배가 됩니다. 그래서 8비트만 모여도 256가지, 즉 0부터 255까지 표현할 수 있어요. 이 8비트 묶음을 1바이트(byte)라고 부릅니다. 우리가 흔히 말하는 킬로바이트, 메가바이트의 그 바이트가 바로 이겁니다.

글자 하나, 색 하나도 결국 비트의 묶음입니다. 예를 들어 흔한 색 표현은 빨강·초록·파랑을 각각 8비트(0~255)로 적어 만듭니다. 두 개짜리 스위치가 모이고 모여 사진 한 장이 되는 셈이죠.

3. 자릿값: 10진수도 사실 같은 원리

2진수를 이해하려면 우리가 매일 쓰는 10진수를 먼저 뜯어보는 게 빠릅니다. 253이라는 수를 볼까요. 이건 그냥 숫자 세 개가 붙은 게 아니라, 각 자리에 가중치(자릿값)가 숨어 있습니다.

자리백의 자리십의 자리일의 자리
자릿값100 (102)10 (101)1 (100)
숫자253
계산2 × 100 = 2005 × 10 = 503 × 1 = 3

200 + 50 + 3 = 253. 즉 10진수는 오른쪽부터 1배, 10배, 100배로 10씩 커지는 자릿값을 쓰는 방식입니다. "10진수"라는 이름이 여기서 나옵니다.

4. 2진수의 자릿값 읽기

2진수는 똑같은 원리인데, 자릿값이 10배씩이 아니라 2배씩 커집니다. 오른쪽부터 1, 2, 4, 8, 16, 32, 64, 128 순이에요. 아까 그 253을 2진수로 펼치면 11111101이 되는데, 이렇게 읽습니다.

자릿값1286432168421
비트11111101

켜진(1) 자리의 자릿값만 더하면 됩니다. 128 + 64 + 32 + 16 + 8 + 4 + 1 = 253. 2진수를 읽는다는 건 결국 "어떤 자릿값들이 켜져 있나"를 더하는 일이에요. 어렵지 않죠. 자릿값이 2배씩 커지니, 비트가 여덟 개면 최대 255(=128+64+…+1)까지 닿습니다.

이 자릿값 감각이 손에 익으면 8진수·16진수도 똑같이 풀립니다. 8진수는 자릿값이 8배씩, 16진수는 16배씩 커질 뿐이에요. 진법 변환기는 값을 넣으면 네 진법을 동시에 보여주고 아래에 비트 배열까지 펼쳐 줘서, 이 원리가 눈에 바로 들어옵니다.

5. 왜 10진수 회로를 안 만들까

"그냥 사람처럼 10진수로 도는 컴퓨터를 만들면 안 되나?" 실제로 초기에는 10진수 컴퓨터를 시도한 적도 있습니다. 하지만 두 가지 이유로 2진수가 이겼어요.

결국 2진수는 "사람에게 편한 방식"이 아니라 "기계에게 확실한 방식"을 고른 결과입니다. 대신 2진수는 자릿수가 길어 사람이 읽기 불편한데, 그 불편을 덜어 주는 게 16진수·8진수입니다. 긴 2진수를 짧게 묶어 적는 속기 같은 표기죠.

숫자를 하나 넣어 보세요. 2·8·10·16진수가 동시에 채워지고, 아래에 비트 배열이 펼쳐집니다.

진법 변환기 열기

6. 자주 묻는 질문

비트와 바이트는 뭐가 다른가요?

비트는 0 또는 1 하나, 즉 스위치 하나입니다. 바이트는 그 비트를 여덟 개 묶은 단위예요. 1바이트는 256가지(0~255)를 표현할 수 있어서, 글자 하나를 담는 기본 단위로 오래 쓰였습니다.

8비트면 왜 최대가 255인가요?

8비트의 자릿값은 1, 2, 4, 8, 16, 32, 64, 128입니다. 여덟 자리가 모두 1일 때 이 값을 다 더하면 255가 됩니다. 경우의 수로 보면 256가지인데, 0부터 세니까 가장 큰 수는 255예요.

2진수는 왜 이렇게 자릿수가 긴가요?

자릿값이 2배씩만 커지기 때문입니다. 10진수는 한 자리로 0~9를 담지만 2진수는 0~1뿐이라, 같은 수를 적는 데 훨씬 많은 자리가 필요해요. 그래서 사람이 볼 때는 2진수 네 자리를 16진수 한 자리로 묶어 짧게 줄여 적습니다.