🔥 컴퓨터가 숫자를 이해하는 방식
컴퓨터는 기본적으로 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진수 변환 방법
- 10진수를 2로 나눈 나머지를 기록
- 몫이 0이 될 때까지 반복
- 거꾸로 읽으면 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의 보수법을 이해함
출처:
혼자공부하는 운영체제 - 강민철
'Computer Science > Computer Structure' 카테고리의 다른 글
혼공 운영체제) 03.명령어 01.소스 코드와 명령어 (0) | 2025.02.18 |
---|---|
혼공 운영체제) 02.데이터 02.0과 1로 숫자를 표현하는 방법 2 (0) | 2025.02.18 |
혼공 운영체제) 01.컴퓨터 구조 시작 02.컴퓨터 구조의 큰 그림 (0) | 2025.02.18 |
혼공 운영체제) 01.컴퓨터 구조 시작 01.컴퓨터 구조를 알아야 하는 이유 (0) | 2025.02.18 |