🔥 컴퓨터가 숫자를 이해하는 방식

컴퓨터는 기본적으로 0과 1밖에 이해하지 못하는 기계입니다.
우리가 일반적으로 사용하는 숫자(10진수)를 컴퓨터가 이해할 수 있는 형태(2진수, 16진수 등)로 변환하는 과정이 필요합니다.

 

📌 이번 강에서는 컴퓨터가 숫자를 표현하는 방법을 학습합니다.
정보 단위 (비트, 바이트 등) 이해하기
이진법(2진수)와 십육진법(16진수)의 개념
2진수 ↔ 16진수 변환 방법
음수를 표현하는 방법 (2의 보수법)


🏗 1. 컴퓨터가 이해하는 정보 단위

비트(Bit)와 바이트(Byte)

📌 비트(Bit)란?

  • 컴퓨터가 이해할 수 있는 가장 작은 정보 단위
  • 0과 1, 즉 전기 신호의 "꺼짐(0)"과 "켜짐(1)"을 나타내는 최소 단위
  • 1비트는 두 가지(0 또는 1) 정보를 표현 가능

📌 비트(Bit) 개수에 따른 정보 표현 가능성

비트 개수 표현 가능한 정보 개수
1비트 2가지 (0, 1)
2비트 4가지 (00, 01, 10, 11)
3비트 8가지 (000~111)
n비트 2^n 개

 

📌 바이트(Byte)란?

  • 8비트(Bit) = 1바이트(Byte)
  • 하나의 문자(예: 'A')를 저장할 때 보통 1바이트 사용

더 큰 정보 단위

단위
크기
1 Byte 8 Bits
1 KB (킬로바이트) 1,000 Bytes
1 MB (메가바이트) 1,000 KB
1 GB (기가바이트) 1,000 MB
1 TB (테라바이트) 1,000 GB

 

📌 1024 vs 1000 기준?

  • 과거에는 1024 단위(2^10)를 기준으로 사용했지만,
  • 최근에는 1000 단위(KB=1000B)로 표기하는 경우가 많음.
  • 하지만 정확한 표기는 1024 단위를 따르는 것이 원칙 (예: 1 KiB = 1024 Bytes).

🎯 2. 이진법(2진수)이란?

컴퓨터는 0과 1만으로 숫자를 표현합니다.
이진법(Binary, 2진수) 이란, 숫자가 '2'가 될 때마다 자리 올림이 발생하는 진법입니다.

 

📌 이진법 변환 예시

10진수
2진수
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000

 

10진수 → 2진수 변환 방법

  1. 10진수를 2로 나눈 나머지를 기록
  2. 몫이 0이 될 때까지 반복
  3. 거꾸로 읽으면 2진수 완성

예) 10을 2진수로 변환

10 ÷ 2 = 5 ... 0  
5 ÷ 2 = 2 ... 1  
2 ÷ 2 = 1 ... 0  
1 ÷ 2 = 0 ... 1  
(위에서 아래로 읽으면 1010 → 10진수 10 = 2진수 1010)

 

🔢 3. 십육진법(16진수)

16진법이란?

  • 숫자가 16이 될 때 자리 올림이 발생하는 진법
  • 2진수로 표현하면 너무 길어지기 때문에 간결하게 표현하기 위해 사용
  • 0~9 이후 A(10), B(11), C(12), D(13), E(14), F(15)로 표현

📌 16진법 예시

10진수 2진수 16진수
0 0000 0
1 0001 1
10 1010 A
15 1111 F
16 0001 0000 10

2진수 ↔ 16진수 변환 방법

  • 2진수를 4비트씩 끊어서 변환하면 손쉽게 16진수로 변환 가능

예) 2진수 → 16진수 변환

1010  1101    1111  (2진수)
[A]    [D]    [F]  (16진수)
=> 16진수로 A D F

예) 16진수 → 2진수 변환

A = 1010,  D = 1101,  F = 1111
A D F = 1010 1101 1111 (2진수)

📌 16진수 표기 방법

  • 0x 접두사를 붙여 표기 → 예: 0xA3F
  • C언어나 Python 코드에서 사용되는 표기법

4. 음수를 표현하는 방법 (2의 보수)

📌 컴퓨터는 0과 1만 이해하기 때문에, 음수를 표현할 수 있는 방법이 필요
📌 현재 가장 많이 사용되는 방식은 '2의 보수(Two’s Complement)'

 

2의 보수 구하는 방법 1️⃣ 모든 비트를 반전(0↔1, 1↔0) 2️⃣ 1을 더하기

예) 2진수 5(0101)의 음수(-5)를 구하는 과정

 

1. 0101 (5의 2진수)
2. 1010 (비트 반전)
3. 1011 (1 더하기)
=> 1011이 -5를 표현하는 2진수!​

 

📌 2의 보수 방식의 장점

  • 덧셈과 뺄셈을 동일한 연산 방식으로 처리 가능
  • 컴퓨터에서 음수를 쉽게 다룰 수 있도록 설계됨

🏁 정리: 컴퓨터가 숫자를 표현하는 방식

📌 컴퓨터는 0과 1(이진수)로 모든 데이터를 처리
📌 비트(Bit) → 바이트(Byte) → 킬로바이트(KB) 순으로 정보 단위 증가
📌 16진법을 사용하면 2진수를 더 쉽게 표현 가능
📌 2의 보수법을 이용하여 음수를 표현


이 블로그 포스트를 통해 배운 점

  • 컴퓨터는 0과 1(비트)로 정보를 처리한다
  • 2진수(이진법)와 16진수의 개념과 변환 방법
  • 음수를 표현하는 2의 보수법을 이해함

 

 

출처:
혼자공부하는 운영체제 - 강민철

+ Recent posts