누구나 쉽게 배우는 진수 - 8장. 보너스 개념: 진수와 컴퓨터 구조
2025. 3. 28. 17:16ㆍ소프트웨어/기초
✅ 8장. 보너스 개념: 진수와 컴퓨터 구조
📌 왜 이 개념이 중요할까요?
컴퓨터는 모든 정보를 2진수(0과 1) 로 저장합니다.
이때 숫자의 종류에 따라 표현 방식이 달라지며,
그 핵심에는 진수 개념이 존재합니다.
표현 대상 | 사용 방식 |
정수 (양수/음수) | 2의 보수 |
실수 (소수) | 부동소수점 |
데이터 단위 | 비트, 바이트, 킬로바이트 등 |
진수 변환 | 비트 기준 정렬 (3비트 = 8진수, 4비트 = 16진수) |
🔁 1) 음수 표현: 2의 보수법
🔹 개념 요약
컴퓨터는 덧셈 연산만 지원하므로,
음수도 양수처럼 덧셈으로 계산될 수 있도록 표현해야 합니다.
→ 이를 위해 사용하는 방법이 2의 보수(Two’s Complement) 입니다.
🔸 표현 방법
어떤 수의 2의 보수 = 1의 보수(반전) + 1
예: -5를 8비트로 표현
- 5 → 00000101
- 반전 (1의 보수): 11111010
- +1 → 11111011 → ✔️ -5의 2의 보수 표현
🔸 실제 연산 예시 (덧셈으로 뺄셈 처리)
예: 7 - 5
→ 7 + (-5) 로 계산
항목 | 2진수 (8비트) |
7 | 00000111 |
-5 (2의 보수) | 11111011 |
00000111
+ 11111011
-----------
1 00000010 → 오버플로우 1 무시
→ 결과: `00000010` = 2
✅ 뺄셈 없이 덧셈만으로 결과 도출!
📐 2) 실수 표현: 부동소수점 (Floating Point)
정수 외의 숫자(소수 등)는 고정된 방식으로 정확히 표현하기 어렵기 때문에,
근사치 표현 방식인 IEEE 754 부동소수점 포맷이 사용됩니다.
🔸 IEEE 754 구조 (32비트 기준, 단정도)
구성 요소 | 비트 수 | 설명 |
부호 (Sign) | 1비트 | 0: 양수, 1: 음수 |
지수 (Exponent) | 8비트 | 2의 거듭제곱 (Bias 127 적용) |
가수 (Mantissa) | 23비트 | 소수점 이하의 유효 숫자들 |
🔸 예: 3.14 표현 방식
- 2진수 변환:
3.14 ≈ 11.001001... - 정규화:
1.1001001... × 2¹ - 지수 계산:
- 실제 지수: 1
- 저장 지수 = 1 + 127 (Bias) = 128 → 10000000
- 가수:
- 소수점 이하만 저장 → 10010010000111111011011
- 부호:
- 양수 → 0
🔸 최종 비트 구조 (32비트)
S | Exponent | Mantissa
0 10000000 10010010000111111011011
➡️ 이것이 컴퓨터가 3.14를 저장하는 방식입니다 (근사값).
🔢 3) 비트(Bit), 바이트(Byte)와 진수의 관계
🔸 기본 단위
단위 | 정의 |
비트 (bit) | 정보의 최소 단위 (0 또는 1) |
바이트 (byte) | 8비트 (1문자 저장 가능) |
워드 (word) | CPU가 한 번에 처리하는 데이터 크기 (32/64비트 등) |
🔸 단위 확장
단위 | 크기 | 약칭 |
1KB | 1,024 B | Kilobyte |
1MB | 1,024 KB | Megabyte |
1GB | 1,024 MB | Gigabyte |
1TB | 1,024 GB | Terabyte |
✅ 2의 거듭제곱 단위 사용 → 이진 구조 기반 시스템과 호환성 높음
🔸 진수와 비트의 대응
진수 | 비트 수 | 설명 |
2진수 | 1자리 = 1비트 | 1011₂ |
8진수 | 1자리 = 3비트 | 111₂ = 7₈ |
16진수 | 1자리 = 4비트 | 1111₂ = F₁₆ |
→ 3비트 단위 = 8진수 / 4비트 단위 = 16진수
📊 요약표
항목 | 개념 요약 | 예시 |
2의 보수 | 음수 표현 방식 (1의 보수 + 1) | -5 = 11111011 |
부동소수점 | 실수 표현 (IEEE 754) | 3.14 ≈ 01000000... |
비트/바이트 | 데이터 최소/기본 단위 | 1바이트 = 8비트 |
단위 확장 | 저장 단위 확장 (2ⁿ 기준) | 1KB = 1,024B |
진수-비트 | 비트 수로 진수 변환 가능 | 16진수 = 4비트 |
📝 연습문제
Q1. 8비트 기준에서 -1의 2의 보수 표현은?
Q2. 1.5의 부동소수점 표현에서 지수 값은 얼마인가요?
Q3. 1KB는 몇 바이트인가요?
Q4. 16진수 2자리는 몇 비트인가요?
✅ 정답
- Q1:
→ 00000001 → 반전: 11111110 +1 → 11111111 - Q2:
1.5 = 1.1₂ = 1.1 × 2⁰ → 지수 = 0 + 127 = 127 → 01111111 - Q3:
1KB = 1,024바이트 - Q4:
1자리 = 4비트 → 2자리 = 8비트
'소프트웨어 > 기초' 카테고리의 다른 글
누구나 쉽게 배우는 진수 - 9장. 요약 및 복습 (0) | 2025.03.28 |
---|---|
누구나 쉽게 배우는 진수 - 7장. 진수가 사용되는 실제 예시 (0) | 2025.03.28 |
누구나 쉽게 배우는 진수 - 6장. 진수 간 변환 정리 (0) | 2025.03.28 |
누구나 쉽게 배우는 진수 - 5장. 16진수(Hexadecimal) 이해하기 (0) | 2025.03.28 |
누구나 쉽게 배우는 진수 - 4장. 8진수(Octal) 이해하기 (0) | 2025.03.28 |