컴퓨터 과학

[컴퓨터 구조] 컴퓨터가 이해하는 정보 - 데이터 숫자

Data Jun 2025. 11. 22. 22:35

컴퓨터가 다루는 모든 정보는 0과 1, 즉 2진수로 표현됩니다.
이번 글에서는 데이터의 기본 단위인 비트(bit), 바이트(byte), 그리고 CPU가 처리하는 워드(word) 개념까지 간단하게 정리합니다.

 

1. 비트(bit)

  • 0과 1을 나타내는 가장 작은 정보 단위
  • 1비트는 두 가지 값(0 또는 1)을 표현
  • 비트 수가 늘어날수록 표현 가능한 정보량 증가
    • 2비트 → 4개(2²)
    • 3비트 → 8개(2³)
    • N비트 → 2ᴺ개

2. 바이트(byte)

  • 8개의 비트를 묶어 하나의 바이트로 사용
  • 1바이트가 표현할 수 있는 값의 개수: 256개 (2⁸)

1️⃣ 단위 변환(SI 기준)

구분 바이트
1 byte 8 비트
1 kB 1,000 비트
1 MB 1,000 kB
1 GB 1,000 MB
1 TB 1,000 GB

 

 

3. 워드(word)

  • CPU가 한 번에 처리할 수 있는 데이터의 크기
  • CPU 구조에 따라 다름
    • 16비트를 한 번에 처리 → 워드 = 16비트
    • 32비트를 처리 → 워드 = 32비트
    • 64비트를 처리 → 워드 = 64비트 (현대 CPU 대부분)

즉, 워드 크기가 클수록 한 번에 더 많은 데이터 처리 가능.

 

 

4. 0과 1로 숫자 표현하기

 

  • 10진수 숫자를 2진수로 변환할 때, 값이 커지면 자리올림 발생
  • 2진수 표기는
    • 뒤에 (2)를 붙이거나
    • 앞에 0b 를 붙여 표현

 

예)

  • 10진수 1 → 2진수 1
  • 10진수 2 → 2진수 10
  • 10진수 3 → 2진수 11
  • 10진수 4 → 2진수 100

 

5. 16진법(hexadecimal)

2진수는 길이가 너무 길어지므로, 사람이 보기 쉽게 16진수도 함께 사용합니다.

 

16진수 특징

  • 10~15는 각각 A, B, C, D, E, F
  • 2진수를 4비트 단위로 묶으면 16진수로 쉽게 변환 가능
  • 표기 방식: 뒤에 (16) 또는 앞에 0x 사용

예)

  • 10진수 255 → 16진수 0xFF
  • MAC 주소, IPv6 주소에서도 16진수 사용

 

6. 데이터: 소수 표현

컴퓨터가 실수를 표현할 때 중요한 점:

 

👉 우리가 표현하고자 하는 값과 실제로 저장되는 값 사이에 오차가 발생할 수 있음

 

예를 들어,

a = 0.1
b = 0.2
c = 0.3

if a + b == c:
    print("Equal")
else:
    print("Not Equal")

이 코드는 "Not Equal" 을 출력함.
이유는 0.1, 0.2, 0.3이 2진수로 정확히 나누어떨어지지 않아 오차가 생기기 때문.

즉, 부동소수점(floating point)의 정밀도에는 한계가 존재한다는 점이 핵심입니다.

 

 

정리하면

 

이번 글에서 다룬 내용:

  • 비트와 바이트는 데이터 표현의 기본 단위
  • CPU의 워드 크기는 처리 능력과 직결
  • 숫자는 2진수로 표현되고, 사람이 읽기 쉽도록 16진수도 사용
  • 실수는 완벽히 표현되지 않아 오차가 발생할 수 있음

컴퓨터 구조의 첫 단추인 "데이터 표현"을 이해하면 이후의 명령어 처리, 메모리 구조, CPU 동작 등도 훨씬 쉽게 이어집니다.