컴퓨터공학/컴퓨터 구조와 작동 원리

[컴퓨터공학] 컴퓨터 개념 기초 | 비트, 바이트, 이진수 개념

코코무 2025. 3. 24. 09:55

컴퓨터는 인간처럼 글자나 숫자 자체를 이해하지 않는다. 그 대신, 전기적 신호의 존재와 부재를 이용해 모든 정보를 표현한다. 이로 인해 컴퓨터는 데이터를 2진수(이진수, Binary)로 처리하고 이를 저장하고 연산한다.

비트(Bit): 이진 정보의 최소 단위

 

정의

  • Bit(binary digit): 컴퓨터에서 표현할 수 있는 가장 작은 데이터 단위로 0 또는 1 중 하나의 값을 갖는 단위, 즉 정보의 가장 작은 조각
  • 컴퓨터는 전기적 신호의 유무 또는 전압 차이를 기반으로 동작하며, 이것을 2개의 상태로 추상화한 것
    • High Voltage(전압이 있음) → 1
    • Low Voltage(전압이 없음) → 2
  • n비트로 표현할 수 있는 고유한 상태 수 = 2ⁿ
    • 1비트: 2가지 → 0, 1
    • 2비트: 4가지 → 00, 01, 10, 11
    • 3비트: 8가지 → 000 ~ 111
    • 8비트: 256가지 → 00000000 ~ 11111111
    • 16비트: 65,636가지 조합
    • 이 조합의 폭은 프로그래밍에서 정수형 자료형의 범위, 메모리 주소 지정, 컬러 정보 표현(rgb) 등 다양한 곳에서 직접적인 영향을 끼친다.

바이트(Byte): 메모리 표현의 기본 단위

 

정의

  • 1바이트 = 8비트
  • 컴퓨터에서 컴퓨터 메모리와 저장장치에서 주소의 최소 단위로 사용 → CPU는 데이터를 바이트 단위로 읽고 쓰는 연산에 최적화

왜 하필 8비트?

  • 8비트면 256(=2⁸)개의 조합이 가능하므로, ASCII 문자 집합을 포함하기에 충분하고, 연산자, 제어문자, 숫자 등도 모두 표현 가능하다.
  • 또한, 2ⁿ 구조를 따르기 때문에 하드웨어 설계와 연산 처리에서 효율적이다.

이진수(Binary Number): 컴퓨터의 언어

 

기본 원리

  • 이진수는 2진법에 기반한 수 체계
  • 우리가 일상적으로 사용하는 10진수는 자릿수가 10(0~9)이지만, 이진수는 2(0과1)만 사용
  • 컴퓨터는 하드웨어적으로 0과 1의 조합만을 처리할 수 있으므로 모든 수는 이진수로 변환되어 저장
  • 자리수가 올라갈수록 2의 거듭제곱으로 의미가 커짐

10진수 → 2진수 변환

예: 10진수 13을 2진수로 변환

13 ÷ 2 = 6 ... 1
6 ÷ 2 = 3 ... 0
3 ÷ 2 = 1 ... 1
1 ÷ 2 = 0 ... 1
→ 역순으로 읽으면: 1101

 

 

예: 10진수 43을 2진수로 변환

43 ÷ 2 = 21 ... 1
21 ÷ 2 = 10 ... 1  
10 ÷ 2 = 5  ... 0  
5  ÷ 2 = 2  ... 1  
2  ÷ 2 = 1  ... 0  
1  ÷ 2 = 0  ... 1

결과: 43₁₀ = 101011₂

 

 

2진수 → 10진수 변환

예: 101011₂ = ?

= 1×2⁵ + 0×2⁴ + 1×2³ + 0×2² + 1×2¹ + 1×2⁰  
= 32 + 0 + 8 + 0 + 2 + 1 = 43

왜 이진수인가?(아날로그보다 디지털이 우월한 이유)

전자 회로 기반의 컴퓨터 구조(전기적 신호의 안정성과 처리의 단순함)

  • 트랜지스터는 스위치처럼 동작하며, 전류가 흐르는지/안 흐르는지를 감지한다.
  • 아날로그보다 디지털이 신호 해석이 단순하고 신뢰성 높다.
  • 이진 표현은 잡음에 강하고 회로 설계가 간단하다. → 에러 검출 및 정정에도 유리하다.

아날로그 시스템은 무한한 값을 표현할 수 있지만 잡음, 열화에 약하다. 반면, 디지털 시스템은 정확하고 일관된 신호 전달이 가능해 컴퓨터의 신뢰성과 성능을 보장할 수 있다.

이진수와 문자 인코딩

ASCII 예시

  • 문자 → 숫자 코드로 매핑 → 이진수로 변환
  • 예:
    • "A" → 65 → 01000001
    • "a" → 97 → 01100001
    • " " (space) → 32 → 00100000

2의 보수

이진수를 음수로 표현하려면, 우리가 흔히 쓰는 부호-카기 방식은 산술 연산이 복잡해지기 때문에, 컴퓨터는 보통 2의 보수 표현을 ㅏ용한다.

예: 8비트 기준에서 -5 표현

  1. 5 → 00000101
  2. 반전 → 11111010
  3. +1 → 11111011
    ✅ 결과: -5 = 11111011 (2의 보수)

이 방식 덕분에 덧셈 연산기로 뺄셈까지 가능하게 된다(하드웨어가 간단해짐).


32비트 vs. 64비트

컴퓨터에 운영체제나 소프트웨어를 설치하기 위해 다운로드 사이트에 들어가보면, Windows의 32bit 버전과 64bit 버전을 심심치 않게 볼 수 있다.

  • 32비트 시스템: CPU가 한 번에 처리할 수 있는 데이터 크기나 주소 길이가 32비트
  • 64비트 시스템: 같은 기준으로 64비트까지 한 번에 처리 가능

여기서 말하는 '비트'는 단순히 숫자가 아니라 CPU의 처리 단위(레지스터 폭, 주소 버스의 폭 등)의미한다.

항목 32비트 시스템 64비트 시스템
한 번에 처리하는 데이터 크기 32비트 = 4바이트 64비트 = 8바이트
메모리 주소 공간 약 4GB 이론상 18EB 이상
레지스터 크기 32비트 연산 가능 64비트 연산 가능
프로그램 실행 방식 32비트용 프로그램만 실행 64비트와 32비트 프로그램 대부분 실행 가능(하위 호환)

 

  • 어떤 소프트웨어는 32비트 CPU에서는 실행이 안 될 수도 있다.
  • 드라이버(하드웨어 제어 소프트웨어)는 CPU 아키텍처에 맞는 버전을 설치해야 한다.
  • 64비트 CPU는 더 많은 데이터를 동시ㅣ에 처리하고, 더 많은 메모리를 직접 접근할 수 있다.
  • 그래서 게임, 영상 편집, AI 연산 같은 무거운 작업에서는 64비트 시스템이 필수적이다.