seegongsik
구조

어떻게 컴퓨터는 왜 0과 1만 쓸까요?

사진을 보고 음악을 듣는 일도 컴퓨터 안에서는 단 두 가지 상태로 처리된다. 그 두 가지가 무엇인지는 책상 위 스위치 하나로 설명할 수 있어요. 이 레슨에서는 스위치를 하나씩 켜 가며 그 비밀을 푼다.

01

켜짐 아니면 꺼짐, 그 사이는 없다

방에 있는 전등 스위치는 켜져 있거나 꺼져 있다. 반쯤 켜진 애매한 상태는 없다. 컴퓨터 부품도 마찬가지여서, 회로에 전기가 흐르거나 흐르지 않거나 둘 중 하나예요.

그래서 켜진 상태를 1, 꺼진 상태를 0이라고 부르기로 약속했다. 0과 1은 어려운 암호가 아니라 스위치의 두 상태에 붙인 이름일 뿐이다. 전등 스위치를 올리면 불이 켜지고 내리면 꺼지듯이 컴퓨터 안에서도 같은 일이 일어나요. 다른 점은 그 스위치가 눈에 보이지 않을 만큼 작고, 칩 하나에 수십억 개가 들어 있다는 것이다.

0
지금: 꺼짐 = 0

스위치를 누를 때마다 켜짐과 꺼짐이 바뀐다. 처음 열면 한 번 저절로 깜빡여요.

02

열 단계로 세면 더 편하지 않을까

사람은 손가락이 열 개라 0부터 9까지 쓰는 십진법에 익숙하다. 그렇다면 컴퓨터도 전기의 세기를 열 단계로 나눠 세면 되지 않을까요? 문제는 전기로 열 단계를 또렷하게 구분하기가 무척 어렵다는 데 있다.

아래 그림의 위쪽 줄은 밝기를 열 단계로 나눈 등불이다. 이웃한 단계끼리 밝기가 비슷해서 몇 번째인지 헷갈린다. 아래쪽 줄은 켜짐과 꺼짐 두 가지뿐이라 헷갈릴 일이 없어요. 컴퓨터가 두 단계를 고른 까닭이 바로 이 확실함이다.

사람 눈에는 9와 8이 한눈에 다르지만, 기계에게 9만큼의 전기와 8만큼의 전기는 너무 비슷하다. 전압이 조금만 흔들려도 9가 8로 잘못 읽힐 수 있어요. 켜짐과 꺼짐은 차이가 워낙 커서 웬만큼 흔들려도 틀리지 않는다. 빠르고 정확해야 하는 컴퓨터에게는 이 확실함이 무엇보다 중요했다.

열 단계
↓
두 단계

열 단계는 이웃끼리 헷갈리고, 두 단계는 한눈에 구별된다.

03

스위치를 줄지어 놓으면 숫자가 된다

스위치 하나는 0 아니면 1, 두 가지밖에 나타내지 못한다. 그런데 여러 개를 나란히 놓고 자리마다 값을 정해 두면 이야기가 달라진다. 맨 오른쪽 자리를 1로 두고, 왼쪽으로 갈수록 2, 4, 8처럼 두 배씩 키우는 방식이에요.

1
×2
2
×2
4
×2
8
×2
16
×2
32
×2
64
×2
128

자리값은 오른쪽에서 왼쪽으로 갈수록 두 배씩 커진다.

이제 직접 켤 차례다. 아래 스위치 8개 가운데 원하는 것을 누르면 켜진 스위치의 자리값을 모두 더한 수가 위에 나타나요. 그 합이 컴퓨터가 읽는 숫자다. 처음 주어진 미션은 13을 만드는 것이다.

128
0
64
0
32
0
16
0
8
0
4
0
2
0
1
0
0 0 0 0 0 0 0 0
켜진 값을 다 더하면
 
0
미션: 13 만들기

켜진 자리값을 모두 더하면 위의 숫자가 바뀐다. 13 = 8 + 4 + 1.

04

0부터 차례로 세는 법

십진법에서 9 다음에 자리를 올려 10이 되듯이, 이진법도 한 자리가 꽉 차면 윗자리로 넘긴다. 다른 점은 단 하나, 1 다음에 곧바로 자리가 넘어간다는 것이다. 재생 버튼을 누르면 비트가 깜빡이며 수가 하나씩 올라가요.

0
0
0
0
0
0
0
0
0

맨 오른쪽 비트는 수가 하나 오를 때마다, 그 옆 비트는 두 번에 한 번씩 바뀐다.

규칙이 눈에 익으면 0과 1만으로 얼마든지 큰 수까지 셀 수 있다는 사실이 자연스럽게 느껴진다. 우리가 쓰는 십진법도 원리는 똑같다. 한 자리에 0부터 9까지 열 개를 담느냐, 0과 1 두 개만 담느냐의 차이예요.

05

그럼 글자와 그림은?

여기서 한 걸음 더 나간다. 컴퓨터가 숫자만 다룬다면 글자는 어떻게 화면에 띄울까? 답은 의외로 간단하다. 글자마다 번호를 붙인 약속표를 만들어 두고, A는 65번, B는 66번처럼 정해 둔 것이에요.

아래에서 글자를 고르면 그 글자의 번호가 곧바로 0과 1로 바뀌고, 작은 칸들이 켜지고 꺼지며 그 수를 나타낸다. 그림도 같은 방식이에요. 점 하나하나의 색을 숫자로 적어 두면 결국 전부 0과 1이 된다.

매일 들여다보는 화면도 이렇게 만들어진다. 수많은 점이 저마다 색을 숫자로 갖고 있고, 그 숫자는 다시 0과 1로 적혀 있어요. 글자든 사진이든 영상이든 속을 열어 보면 같은 0과 1의 나열이다. 종류가 다른 재료가 아니라, 같은 재료로 다른 것을 빚어낸 셈이다.

A
번호 65 를 0과 1로 적으면
0 1 0 0 0 0 0 1

글자를 고르면 그 번호가 0과 1로 바뀐다.

06

스위치 하나가 늘 때마다 두 배

마지막은 가장 놀라운 부분이에요. 스위치를 하나 더할 때마다 나타낼 수 있는 경우의 수가 두 배로 늘어난다. 1개면 2가지, 2개면 4가지예요. 별것 아닌 듯해도, 아래 슬라이더를 끝까지 밀면 생각이 달라진다.

3D 불러오는 중…
2가지
비트 1개 · 2¹

비트 수를 늘리면 켜지는 칸이 두 배씩 늘어난다. 끌어서 돌려 볼 수도 있다.

비트가 8개뿐인데 벌써 256가지다. 16개면 6만 가지가 넘는다. 두 배씩만 늘어도 금세 어마어마한 수가 되는 셈이다. 단순한 스위치로 이렇게 큰 세상을 담아내는 비결이 여기에 있어요. 기가, 테라 같은 단위도 결국 이런 스위치가 얼마나 많이 모였는지를 세는 말이다.

한 줄 정리사진 한 장도, 좋아하는 노래도 속을 들여다보면 스위치의 켜짐과 꺼짐이다. 복잡해 보이던 0과 1은 사실 스위치의 상태를 세는 방법이었어요.
← 구조
이 페이지가 도움 됐다면 후원하기