부동 소수점 - 3. 부동 소수점 표기법 (IEEE 754 표준 개념)
2025. 2. 8. 18:01ㆍ소프트웨어/기초
부동 소수점 표기법 (IEEE 754 표준 개념)
컴퓨터는 부동 소수점(Floating-Point)을 이용해 실수를 저장하며, 이를 표준화한 것이 IEEE 754입니다.
IEEE 754 표준은 부동 소수점 숫자를 부호(Sign), 지수(Exponent), 가수(Mantissa)로 나누어 표현합니다.
1. IEEE 754 부동 소수점 구조
IEEE 754 표준에서는 32비트(단정밀도, Single Precision)와 64비트(배정밀도, Double Precision) 방식이 있습니다.
일반적으로 32비트 부동 소수점 구조는 다음과 같이 구성됩니다.
비트 수 | 구성 요소 | 설명 |
1비트 | 부호(Sign Bit) | 숫자의 양수(0) 또는 음수(1) |
8비트 | 지수(Exponent) | 소수점을 어디에 위치시킬지 결정 |
23비트 | 가수(Mantissa, Fraction) | 실제 숫자를 나타내는 부분 |
💡 부동 소수점 표현 방식:
즉, 부호(Sign)는 양수/음수를 결정하고,
지수(Exponent)는 2의 거듭제곱을 이용해 소수점 위치를 조절하며,
가수(Mantissa)는 숫자의 실제 값을 저장합니다.
2. 부동 소수점 변환 과정 (예제: 10.75 변환)
IEEE 754 형식으로 10.75를 표현하는 방법을 단계별로 알아보겠습니다.
① 10진수를 2진수로 변환
10.75의 2진 표현을 찾습니다.
- 정수 부분: 10_{10} → 1010_{2}
- 소수 부분: 0.75_{10} → 0.11_{2}
- (0.75 × 2 = 1.5 → 정수 1, 0.5 남음)
- (0.5 × 2 = 1.0 → 정수 1, 끝)
따라서,
② 정규화 (Normalization)
부동 소수점 표기에서는 1.XXXXX × 2^n 형태로 변환해야 합니다.
- 정규화된 형태에서 가수(Mantissa)는 01011 (앞의 1.은 생략)
- 지수(Exponent)는 3이므로, Bias 127을 더해 저장
- 3 + 127 = 130
- 130을 2진수로 변환하면 10000010_{2}
③ IEEE 754 형식으로 저장
이제 IEEE 754 형식으로 변환된 값을 확인합니다.
부호(Sign, 1비트) | 지수(Exponent, 8비트) | 가수(Mantissa, 23비트) |
0 (양수) | 10000010 (130) | 01011000000000000000000 |
즉, 최종적인 IEEE 754 단정밀도 표현 (32비트):
0 10000010 01011000000000000000000
- 부호: 0 (양수)
- 지수: 10000010 (130 = 127 + 3)
- 가수: 01011000000000000000000
3. IEEE 754의 특징과 장점
✅ 소수점 위치를 유동적으로 조절하여 더 넓은 범위를 표현 가능
✅ 정수보다 더 작은 값과 매우 큰 값을 동시에 표현 가능
✅ 정규화(Normalization) 덕분에 저장 공간을 절약
4. 정리
- IEEE 754 표준은 부동 소수점을 표현하는 방식이며, 부호, 지수, 가수로 구성된다.
- 지수는 Bias(127)를 더해 저장되며, 가수는 정규화 후 1.XXXXX 형태로 저장된다.
- 10.75는 1.01011 × 2³로 변환되며, 최종적으로 32비트 IEEE 754 형식으로 저장된다.
'소프트웨어 > 기초' 카테고리의 다른 글
부동 소수점 - 5. 정확도가 중요한 경우 어떻게 해결할까? (0) | 2025.02.08 |
---|---|
부동 소수점 - 4. 부동 소수점 연산의 한계 (0) | 2025.02.08 |
부동 소수점 - 2. 컴퓨터가 숫자를 표현하는 방식 (0) | 2025.02.08 |
부동 소수점 - 1. 부동 소수점이란? (0) | 2025.02.08 |
부호 있는 정수(Signed Integer) vs 부호 없는 정수(Unsigned Integer) (0) | 2025.02.04 |