Skip to main content

0과 1로 정보를 표현하는 법

Views 145약 4분생성형 AI 활용
Summary

전압의 차이가 0과 1이 된다

컴퓨터 안에서는 전기가 흐른다. 하지만 컴퓨터가 전기의 모양을 그대로 이해하는 것은 아니다. 회로는 전압이 낮은 상태와 높은 상태를 구분하고, 이를 각각 0과 1로 약속한다. 이 두 값만으로 정보를 표현하는 방식을 이진 표현이라고 한다.

왜 하필 0과 1일까? 전자 회로는 애매한 여러 단계를 정확히 구분하는 것보다, 두 상태를 구분하는 일이 훨씬 안정적이다. 전압이 조금 흔들려도 "낮다"와 "높다"만 판단하면 되기 때문이다. 그래서 컴퓨터 내부의 모든 데이터는 결국 0과 1의 긴 나열로 바뀐다.

0과 1로 정보를 표현하는 법

비트와 바이트

0 또는 1 하나를 비트라고 한다. 비트는 컴퓨터가 정보를 담는 가장 작은 단위다. 비트 하나로는 두 가지 상태만 표현할 수 있다. 예를 들어 꺼짐과 켜짐, 아니오와 예를 나타낼 수 있다.

비트가 여러 개 모이면 더 많은 값을 표현할 수 있다. 2비트는 00, 01, 10, 11 네 가지를 표현한다. 8비트는 256가지 값을 표현할 수 있다. 이 8비트를 바이트라고 한다. 파일 크기를 말할 때 쓰는 KB, MB, GB는 모두 바이트를 기준으로 커진 단위다.

중요한 점은 비트 자체에는 의미가 없다는 것이다. 같은 01000001도 어떤 약속으로 읽느냐에 따라 숫자 65가 될 수도 있고, 문자 A가 될 수도 있다. 데이터의 의미는 0과 1의 배열이 아니라 그것을 해석하는 규칙에서 나온다.

십진수와 이진수

우리가 평소 쓰는 십진수는 10개 숫자, 즉 0부터 9까지를 사용한다. 자리가 올라갈 때마다 1, 10, 100처럼 10배씩 커진다. 이진수는 0과 1만 사용하고, 자리가 올라갈 때마다 1, 2, 4, 8처럼 2배씩 커진다.

예를 들어 이진수 1011은 오른쪽부터 1, 2, 4, 8의 자리로 읽는다. 따라서 8의 자리 1, 4의 자리 0, 2의 자리 1, 1의 자리 1이므로 8+2+1=11이다. 즉 1011은 십진수 11이다.

이진수 덧셈도 원리는 같다. 1+1은 십진수로 2지만, 이진수에는 2라는 숫자가 없다. 그래서 0을 쓰고 다음 자리로 1을 올린다. 이것이 자리올림이다.

문제는 정해진 비트 수를 넘어설 때 생긴다. 예를 들어 8비트를 부호 없는 정수로 해석할 때 표현할 수 있는 가장 큰 값은 11111111이다. 여기에 1을 더하면 1 00000000이 되지만, 8비트 공간에는 뒤의 00000000만 남을 수 있다. 이렇게 표현 범위를 넘는 현상을 오버플로라고 한다. 컴퓨터는 빠르지만, 정해진 칸보다 큰 값을 자동으로 무한히 담을 수는 없다.

문자는 숫자로 저장된다

컴퓨터는 문자도 직접 저장하지 않는다. 문자마다 번호를 붙여 저장한다. 이 규칙을 문자 인코딩이라고 한다.

초기의 대표적인 규칙이 ASCII다. ASCII는 영어 알파벳, 숫자, 기호에 번호를 붙였다. 예를 들어 대문자 A는 65라는 번호로 약속되어 있다. 컴퓨터는 65를 이진수로 저장하고, 화면에 보여줄 때 그 값을 다시 A로 해석한다.

하지만 ASCII만으로는 한글, 한자, 여러 나라의 문자, 이모지를 표현하기 어렵다. 그래서 더 넓은 문자 체계인 유니코드가 사용된다. 유니코드는 세계의 다양한 문자에 번호를 부여하는 큰 약속이다. 우리가 한글 문서와 이모지를 같은 컴퓨터에서 다룰 수 있는 이유도 이런 공통 규칙 덕분이다.

이미지와 소리도 숫자가 된다

이미지는 작은 점들의 모음으로 표현된다. 이 점을 픽셀이라고 한다. 화면의 사진은 수많은 픽셀이 줄지어 있는 데이터다. 각 픽셀에는 색상값이 들어 있다. 예를 들어 빨강, 초록, 파랑의 밝기를 숫자로 정하면 다양한 색을 만들 수 있다. 결국 이미지는 "어느 위치의 픽셀이 어떤 색인가"를 기록한 숫자들의 묶음이다.

소리도 마찬가지다. 실제 소리는 공기의 떨림이지만, 컴퓨터는 그 떨림을 일정한 시간 간격으로 측정해 숫자로 저장한다. 이 과정을 샘플링이라고 한다. 1초에 더 자주 측정할수록 원래 소리에 가까워지지만, 저장해야 할 숫자도 많아진다. 음악 파일의 품질과 용량이 함께 달라지는 이유가 여기에 있다.

압축은 반복과 패턴을 줄이는 기술이다

데이터가 모두 0과 1이라면, 용량을 줄이는 방법도 0과 1의 배열에서 찾을 수 있다. 압축은 반복되는 부분이나 자주 나오는 패턴을 더 짧게 표현하는 기술이다. 예를 들어 같은 값이 100번 반복된다면, 그 값을 100번 그대로 쓰는 대신 "이 값이 100번 반복됨"이라고 기록할 수 있다.

압축에는 원본을 완전히 되돌릴 수 있는 방식과 일부 정보를 버리는 방식이 있다. 문서나 프로그램은 한 글자라도 바뀌면 문제가 생길 수 있으므로 보통 원본 복원이 가능한 압축을 쓴다. 반면 사진, 음악, 영상은 사람이 잘 느끼지 못하는 정보를 줄여 용량을 크게 낮출 수 있다. 이를 손실 압축이라고 한다.

컴퓨터가 다루는 정보는 겉으로는 숫자, 글자, 사진, 음악처럼 서로 달라 보인다. 그러나 내부로 들어가면 모두 0과 1의 배열이다. 차이를 만드는 것은 데이터가 아니라 약속이다. 어떤 비트 묶음을 숫자로 읽을지, 문자로 읽을지, 색이나 소리로 읽을지 정하는 규칙이 컴퓨터의 언어를 만든다.

책 목록

컴퓨터의 원리: 0과 1에서 클릭 한 번까지

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기