1. 디지털 신호와 이진법 – 컴퓨터가 0과 1을 사용하는 이유
컴퓨터가 다양한 정보를 단 두 개의 숫자인 0과 1만으로 표현할 수 있는 이유를 이해하려면 먼저 디지털 신호와 이진법의 개념을 살펴볼 필요가 있다. 우리가 사용하는 컴퓨터는 전기 신호를 매우 빠르게 처리하는 전자 장치이며, 내부의 트랜지스터는 전류가 흐르는 상태와 흐르지 않는 상태처럼 서로 구별되는 상태를 만들어 낼 수 있다. 이처럼 두 가지 상태를 안정적으로 구분할 수 있기 때문에 컴퓨터는 이를 숫자 0과 1에 대응시킨다. 이러한 최소 정보 단위를 **비트(bit)**라고 한다. 1비트는 0 또는 1 가운데 하나의 값을 가질 수 있다.
사람은 일반적으로 0부터 9까지 열 개의 숫자를 사용하는 십진법에 익숙하지만, 컴퓨터는 두 가지 상태를 이용하는 이진법을 사용한다. 예를 들어 십진수 5를 이진수로 나타내면 101이 된다. 이때 각각의 자리는 2의 거듭제곱을 의미한다. 즉 101은 1×4+0×2+1×1이므로 5가 된다. 비트가 하나 늘어날 때마다 표현할 수 있는 정보의 경우의 수도 두 배가 된다. 1비트는 2가지, 2비트는 4가지, 8비트는 256가지 상태를 표현할 수 있다. 그래서 8비트가 모인 **1바이트(byte)**는 0부터 255까지 256개의 서로 다른 값을 표현할 수 있다.
실제 사례로 컴퓨터의 키보드에서 문자 하나를 입력하는 상황을 생각해 볼 수 있다. 사용자가 키보드에서 'A'를 누르면 컴퓨터는 단순히 사람이 보는 문자 모양을 그대로 저장하는 것이 아니라, 문자에 대응하는 숫자와 이진 데이터를 이용해 처리한다. 결국 컴퓨터 내부에서는 문자, 숫자, 명령어 등 서로 다른 종류의 정보도 모두 전기적 상태의 조합으로 변환된다. 중요한 점은 0과 1 자체가 특별해서가 아니라 두 상태를 매우 안정적으로 구분하고 조합할 수 있기 때문에 디지털 컴퓨터가 이진법을 채택했다는 것이다.
2. 문자 인코딩 – 글자는 어떻게 0과 1로 바뀌는가
컴퓨터가 문자를 저장하려면 각각의 문자에 고유한 숫자값을 부여하는 문자 인코딩(character encoding) 체계가 필요하다. 대표적인 초기 문자 체계가 ASCII이다. ASCII에서는 영문 대문자, 소문자, 숫자, 각종 기호 등에 숫자를 지정한다. 예를 들어 대문자 A에는 65라는 값이 지정되어 있다. 컴퓨터는 이 숫자 자체를 다시 이진수로 변환해 저장하고 처리한다. 65를 이진수로 표현하면 01000001이다. 따라서 사람이 보는 'A'라는 문자도 컴퓨터 내부에서는 결국 여러 개의 0과 1로 구성된 데이터가 된다.
하지만 전 세계에는 영어뿐만 아니라 한글, 중국어, 일본어, 아랍어 등 수많은 문자 체계가 존재한다. ASCII만으로는 이러한 다양한 문자를 충분히 표현하기 어렵기 때문에 현재는 **유니코드(Unicode)**가 널리 사용된다. 유니코드는 세계 각국의 문자를 하나의 체계 안에서 다룰 수 있도록 문자마다 고유한 코드값을 부여한다. 그리고 실제 저장이나 전송 과정에서는 UTF-8, UTF-16과 같은 인코딩 방식을 이용해 이 코드값을 바이트 단위의 데이터로 변환한다.
예를 들어 우리가 스마트폰이나 컴퓨터에서 '한글'이라는 단어를 입력한다고 생각해 보자. 화면에는 네 개의 한글 음절이 보이지만 컴퓨터 내부에서는 각 문자가 특정한 코드값으로 변환되고, 다시 0과 1로 구성된 데이터 형태로 저장된다. 사용자가 메신저로 이 문장을 보내면 데이터가 네트워크를 통해 전달되고 상대방의 기기에서는 해당 데이터를 다시 해석해 화면에 사람이 읽을 수 있는 글자로 표시한다. 즉 문자 입력 → 문자 코드 변환 → 이진 데이터 저장 및 전송 → 다시 문자로 해석이라는 과정을 거치는 것이다. 컴퓨터가 한국어와 영어를 모두 처리할 수 있는 것도 결국 서로 다른 문자를 일정한 규칙에 따라 숫자와 이진 데이터로 대응시키기 때문이다.
3. 이미지와 소리 – 사진과 음악도 결국 숫자의 조합이다
컴퓨터가 처리하는 정보에는 문자뿐만 아니라 사진, 영상, 음악 같은 복잡한 데이터도 포함된다. 그런데 이러한 정보 역시 결국 숫자로 변환된 뒤 이진 데이터로 처리된다. 대표적인 예가 디지털 이미지이다. 사진을 확대해 보면 수많은 작은 점으로 이루어져 있는데 이를 **픽셀(pixel)**이라고 한다. 각 픽셀에는 색상 정보를 나타내는 숫자값이 저장된다. 일반적인 RGB 방식에서는 빨강(R), 초록(G), 파랑(B)의 세 가지 색 성분을 숫자로 표현하고 이를 조합해 다양한 색을 만든다.
예를 들어 8비트씩 세 개의 색상 정보를 사용하는 24비트 컬러에서는 빨강, 초록, 파랑 각각에 0부터 255까지의 값을 부여할 수 있다. 따라서 하나의 픽셀은 매우 다양한 색을 표현할 수 있다. 사진 한 장에는 수백만 개의 픽셀이 들어갈 수 있으므로 엄청난 양의 숫자가 필요하다. 하지만 컴퓨터 입장에서는 이 숫자들도 결국 0과 1의 연속일 뿐이다. 여기에 JPEG, PNG 같은 이미지 압축 기술을 적용하면 데이터의 크기를 줄여 저장 공간과 네트워크 전송량을 절약할 수 있다.
소리 역시 비슷한 원리로 디지털 데이터가 된다. 사람이 듣는 소리는 공기의 진동이라는 연속적인 물리 현상이지만 컴퓨터는 이를 그대로 저장할 수 없기 때문에 일정한 시간 간격으로 소리의 크기를 측정한다. 이 과정을 **샘플링(sampling)**이라고 한다. 측정된 값은 숫자로 변환되고 다시 이진 데이터로 저장된다. 예를 들어 디지털 음원에서는 1초 동안 소리를 얼마나 자주 측정할 것인지 나타내는 샘플링 주파수와 각 측정값을 얼마나 세밀하게 표현할 것인지 나타내는 비트 깊이 등이 음질에 영향을 준다.
실제 사례로 스마트폰으로 찍은 사진 한 장을 생각해 보면 이해하기 쉽다. 사용자가 카메라 셔터를 누르면 이미지 센서가 들어오는 빛을 측정하고 이를 전기 신호와 숫자 데이터로 변환한다. 스마트폰은 이렇게 얻은 수많은 숫자를 이미지 파일로 구성하고 저장한다. 음악을 녹음할 때도 마이크가 공기의 진동을 전기 신호로 바꾸고, 이를 디지털 값으로 변환한다. 결국 사진의 색, 음악의 소리, 영상의 움직임도 컴퓨터 내부에서는 모두 숫자와 0과 1의 조합으로 통일되어 처리되는 것이다.

4. 트랜지스터와 논리회로 – 0과 1이 어떻게 계산과 명령이 되는가
그렇다면 단순한 0과 1의 조합이 어떻게 계산, 프로그램 실행, 인터넷 검색 같은 복잡한 작업으로 발전할 수 있을까? 핵심에는 트랜지스터와 논리회로가 있다. 트랜지스터는 전기 신호를 제어하는 반도체 소자로, 현대 컴퓨터의 기본 구성 요소 가운데 하나다. 여러 개의 트랜지스터를 연결하면 AND, OR, NOT과 같은 논리 연산을 수행하는 논리 게이트를 만들 수 있고, 이들을 다시 복잡하게 연결하면 덧셈이나 비교, 데이터 저장과 같은 다양한 기능을 구현할 수 있다.
예를 들어 컴퓨터가 1+1을 계산한다고 생각해 보자. 사람에게는 매우 간단한 산술이지만 컴퓨터 내부에서는 숫자가 이진수로 표현되고 여러 논리회로를 거치면서 계산된다. 이진수 1은 01과 같은 형태로 표현할 수 있고, 두 값을 더하면 10이라는 결과가 나온다. 십진수로는 2이다. 이처럼 컴퓨터는 우리가 사용하는 십진수 계산을 직접 수행하는 것이 아니라 이진수에 대한 논리 연산을 매우 빠른 속도로 반복하면서 결과를 만들어 낸다.
프로그램 역시 마찬가지다. 우리가 작성한 소프트웨어의 명령은 컴파일러나 인터프리터 등의 과정을 거쳐 컴퓨터가 실행할 수 있는 형태로 변환된다. CPU는 명령어를 읽고 필요한 데이터를 가져온 뒤 산술·논리 연산을 수행하고 결과를 저장한다. 이 과정의 가장 밑바탕에는 결국 전기 신호의 상태와 그것을 해석하는 규칙이 존재한다. 오늘날의 CPU에는 수십억 개 수준의 트랜지스터가 사용되기도 하며, 이 작은 소자들이 엄청난 속도로 상태를 변화시키면서 프로그램을 실행한다.
실제 사례로 우리가 웹브라우저에서 검색창에 '컴퓨터 원리'라고 입력하고 검색 버튼을 누르는 상황을 생각해 보자. 키보드 입력은 문자 데이터로 변환되고, 운영체제와 웹브라우저는 이를 프로그램의 명령에 따라 처리한다. 네트워크를 통해 데이터가 전송되고 서버에서는 검색 요청을 분석한다. 서버가 검색 결과를 보내면 다시 컴퓨터는 받은 데이터를 해석해 문자와 이미지로 화면에 표시한다. 사용자가 보기에는 한 번의 클릭으로 끝나는 간단한 작업이지만 그 내부에서는 수많은 이진 데이터와 논리 연산이 매우 빠르게 오간다.
결국 0과 1만으로 모든 정보를 표현할 수 있는 이유는 컴퓨터가 정보를 직접 이해하기 때문이 아니라, 모든 정보를 숫자로 변환하고 숫자를 다시 이진수로 표현하는 규칙을 사용하기 때문이다. 문자도, 사진도, 음악도, 동영상도, 프로그램도 이러한 변환 과정을 거치면 동일한 형태의 데이터로 취급할 수 있다. 그리고 트랜지스터와 논리회로는 이 0과 1을 저장하고 이동시키며 계산한다. 우리가 컴퓨터 화면에서 보는 복잡하고 화려한 디지털 세계의 가장 깊은 곳에는 놀랍도록 단순한 두 가지 상태, 즉 0과 1이 자리하고 있는 것이다.
'IT상식' 카테고리의 다른 글
| USB 메모리는 어떻게 데이터를 저장할까? (0) | 2026.09.26 |
|---|---|
| 인터넷 검색엔진이 정보를 찾는 과정 (0) | 2026.06.10 |
| 로봇청소기가 공간을 인식하는 기술 (0) | 2026.06.08 |
| 반도체가 전류를 제어하는 원리 (0) | 2026.06.07 |
| GPS가 위치를 계산하는 방법 (0) | 2026.06.05 |
| 클라우드 서버가 데이터를 저장하는 구조 (0) | 2026.06.04 |
| 드론이 공중에서 균형을 유지하는 원리 (0) | 2026.05.21 |
| 암호화 기술이 데이터를 보호하는 방식 (0) | 2026.05.20 |