2026년 02월 20일

🖥️ 컴퓨터는 어떻게 데이터를 저장할까?

Java Spring Boot
Cover Image

🖥️ 컴퓨터는 어떻게 데이터를 저장할까?

— 비트(Bit)와 바이트(Byte) 완전 정복

핵심 요약: 컴퓨터는 모든 데이터를 01만으로 표현한다.
이 가장 작은 단위인 비트가 모여 바이트가 되고, 그것이 곧 메모리의 기초다.


1️⃣ 비트(Bit) — 컴퓨터의 최소 단위

비트(Bit, Binary Digit) 는 컴퓨터가 데이터를 표현하는 가장 작은 단위다.
값은 오직 0 또는 1, 단 두 가지뿐이다.

⚡ 비트는 실제로 "전기 신호"다

비트는 단순한 숫자 개념이 아니라, 하드웨어 레벨에서는 전압(Voltage)의 상태를 의미한다.

비트 값전기적 상태전압
0전압 낮음 (Low)0V 근처
1전압 높음 (High)3.3V 또는 5V

이 스위치 역할을 하는 소자가 바로 트랜지스터(Transistor) 다.
CPU 하나에는 수십억 개의 트랜지스터가 들어있으며, 이것들이 켜지고(1) 꺼지면서(0) 모든 연산을 처리한다.

[트랜지스터 ON]  → 전류 흐름 → 1
[트랜지스터 OFF] → 전류 차단 → 0

💡 즉, 우리가 보는 모든 텍스트, 이미지, 영상은 결국 수십억 개의 트랜지스터가 켜지고 꺼지는 상태의 조합이다.


2️⃣ 바이트(Byte) — 데이터 처리의 기본 단위

바이트(Byte)8개의 비트를 하나로 묶은 단위다.
메모리 주소를 할당하고 데이터를 읽고 쓰는 기본 단위로 사용된다.

1 Byte = 8 Bits
[ 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 ]
  ↑                           ↑
최상위 비트(MSB)           최하위 비트(LSB)

🔢 1바이트로 몇 가지 값을 표현할 수 있을까?

8개의 비트 각각이 0 또는 1을 가질 수 있으므로:

2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 = 2⁸ = 256가지

부호 없는(unsigned) 정수 기준으로 0 ~ 255 의 값을 표현할 수 있다.

🤔 왜 하필 8비트일까?

초기 컴퓨터에서 영문자 + 숫자 + 특수문자를 포함한 ASCII 문자 하나를 표현하는 데 7~8비트가 필요했다.
이 기준이 표준으로 자리잡아 지금까지 이어지고 있다.

ASCII 문자10진수2진수 (1바이트)
A650100 0001
a970110 0001
0480011 0000

3️⃣ 비트 vs 바이트 — 한눈에 비교

구분비트 (bit)바이트 (byte)
크기데이터 최소 단위8 bits
값의 범위0 또는 10 ~ 255 (unsigned)
하드웨어트랜지스터 1개의 상태메모리 1칸의 크기
용도논리 연산, 플래그(Flag)문자 표현, 메모리 주소, 파일 크기

4️⃣ 데이터 크기 단위 확장

비트와 바이트를 기반으로 더 큰 단위가 파생된다.

단위크기설명
1 Bit-0 또는 1
1 Byte8 bits문자 1개 수준
1 KB (Kilobyte)1,024 Bytes짧은 텍스트 파일 수준
1 MB (Megabyte)1,024 KB음악 파일 1곡 수준
1 GB (Gigabyte)1,024 MB영화 1편 수준
1 TB (Terabyte)1,024 GB대용량 하드디스크 수준

💡 KB, MB, GB에서 1,024를 사용하는 이유?
컴퓨터는 2진법 기반이라 2의 거듭제곱 단위가 자연스럽다. 2¹⁰ = 1,024 이기 때문이다.


5️⃣ Java에서의 정수 타입과 연결

비트/바이트 개념은 Java 기본 타입과 직결된다.

byte  b = 127;     // 1 byte  = 8  bits  → -128 ~ 127
short s = 32767;   // 2 bytes = 16 bits  → -32,768 ~ 32,767
int   i = 2147483647; // 4 bytes = 32 bits → 약 ±21억
long  l = 9999999999L; // 8 bytes = 64 bits → 매우 큰 수

타입의 메모리 크기(byte)를 알면 저장 가능한 값의 범위를 직접 계산할 수 있다.

n비트 signed 정수의 범위 = -2^(n-1) ~ 2^(n-1) - 1

예) int = 32bit → -2^31 ~ 2^31 - 1 = -2,147,483,648 ~ 2,147,483,647
← 목록으로 돌아가기