독일 철학자 라이프니츠와 라이프니츠의 계산기 모습.
독일 철학자 라이프니츠와 라이프니츠의 계산기 모습.

우리는 태어나면서부터 자연스럽게 십진법을 기초로 수학을 배우고 계산한다. 초등학교 때 암기한 구구단도 십진법이며 학교 수학 시험도 십진법으로 본다.

우리는 학교를 졸업해도 평생 십진법과 같이한다. 인류가 십진법을 기반으로 수를 계산하는 이유는 아마도 인간의 손가락이 10개이기 때문일 것이다. 아이들은 숫자를 배우고 계산할 때 본능적으로 손가락을 사용한다. 이를 통해 볼 때 십진법은 인간에게 편하고 자연스러운 진법임이 분명하다.

컴퓨터가 우리처럼 숫자와 언어를 자유롭게 사용한다면 좋을 텐데, 아쉽게도 컴퓨터는 인간의 정보 표현 체계를 이해하지 못한다. 컴퓨터는 단 두 개의 숫자 0과 1만을 사용한다. 컴퓨터는 '0'과 '1'을 사용해 말을 한다. 이미지도 '0'과 '1'을 사용해 나타낸다. 그래서 우리가 컴퓨터와 대화하기 위해서는 컴퓨터가 이해할 수 있는 형태로 변환해야 한다. 이것이 바로 이진법이다.

흔히 쓰는 십진법을 컴퓨터에 쓰지 않는 이유는 간단하다. 인간은 숫자 5와 6을 쉽게 인지하지만, 컴퓨터의 전기장치는 신호의 세기를 구분하는 것을 어려워하기 때문이다. 컴퓨터의 연산 속도는 인간과 비교할 수 없을 정도로 빠르지만, 이 숫자 신호를 판단하는 데 너무 많은 자원을 소모하게 된다.

그래서 신호를 '없음' 또는 '있음' 딱 두 가지로 줄여서 각각 0과 1로 명령을 내리는 편이 컴퓨터에 훨씬 부담이 적고 효율적이다. 모든 컴퓨터는 수십억 개의 비트로 구성되는데, 어느 한 비트가 1일 때는 켜짐으로, 0일 때는 꺼짐으로 해석할 수 있다.

'비트(bit)'는 이진법의 단위로 이진수에 0과 1이 몇 개나 존재하는지 세어보면 된다. 이진수 10001에는 총 5개의 비트가 존재한다. 따라서 5비트이다. 그리고 '바이트(bite)'는 8개 숫자가 한 묶음으로 이루어진 이진수를 말한다. 예를 들어, 이진수 10110101은 비트 8개며, 바이트 1개가 된다.

우리는 컴퓨터를 여러 가지 방법으로 조작할 수 있다. 마우스를 클릭하거나 키보드로 입력하면, 그 명령들이 비트와 바이트로 바뀌면서 컴퓨터가 그 기능을 수행하는 것이다. 사실, 컴퓨터 같은 디지털 기기들이 동작할 때는 1바이트보다 훨씬 더 많은 숫자를 인식해야 하는데, 컴퓨터에 있는 모든 파일의 크기를 바이트로만 표현한다면, 그 숫자들은 너무 커질 것이다. 그래서 파일 용량을 ▲킬로바이트(KB) ▲메가바이트(MB) ▲기가바이트(GB) ▲테라바이트(TB) 등과 같은 큰 단위로 나타내는 것이다.

1KB = 1,024bytes
1MB = 1,024KB
1GB = 1,024MB
1TB = 1,024GB

인공지능의 시대인 4차 산업혁명 시대에 뒤처지지 않기 위해서는 소프트웨어 코딩 능력과 인공지능 알고리즘에 대한 이해가 필수적이다. 그런데 컴퓨터, 코딩, 인공지능 모두 이진법을 기반으로 운영된다. 컴퓨터는 모든 정보를 '0' 아니면 '1'로 받아들이기 때문에 컴퓨터와 대화하기 위한 코딩이라는 언어는 모두 이진법으로 변환되어 데이터를 전송한다. 따라서 새로운 미래를 맞이할 여러분들은 십진법만을 사용할 것이 아니라 컴퓨터의 언어인 이진법을 십진법처럼 자연스럽게 이해하고 사용할 줄 알아야 한다.

그런 의미에서 십진수를 이진수로 바꾸는 방법을 알아보자. 간단하다. 십진수를 2로, 마지막 몫이 1이 될 때까지 계속 나누는 것이다. 그리고 마지막 몫 1을 먼저 써준 뒤 단계별로 나온 나머지를 거꾸로 쓰면 이진수가 된다.

50÷2=25 …… 0
25÷2=12 …… 1
12÷2=6 …… 0    

6÷2=3 …… 0

3÷2=1 …… 1

맨 마지막 몫부터, 계산해서 나온 나머지들을 거꾸로 써보면 10010이 된다.

● 10대라면 반드시 알아야 할 4차 산업혁명과 인공지능
신성권·서대호 글ㅣ팬덤북스