2025년 5월 18일
부동 소수점 (Floating Point)
1. 부동 소수점(浮動小數點, Floating point)의 개념 및 특징
개념 | 실수(Real Number)를 컴퓨터에서 “부호 x 가수 x 밑수지수” 방식으로 표현하는 방법 | |
---|---|---|
특징 | 소수점 이동 | 소수점이 고정되지 않고 지수 부분에 의해 소수점의 위치가 결정 |
지수와 가수로 표현 | 소수점의 위치인 지수(指數)와 유효숫자인 가수(假數)로 표현 |
- 부동 소수점은 소수점을 고정시킨 고정 소수점(Fixed point) 방식에 비해 넓은 범위의 수 표현이 가능하므로 FLOPs 등 컴퓨터 연산에 효과적으로 사용
2. 부동 소수점의 표현 방식 및 사례
(1) 부동 소수점의 표현 방식
- IEEE 754 (IEC 60559) 기반 32 bit 단정밀도(Single precision) 기준
![]() | ||
구분 | 크기 | 표현 방식 |
---|---|---|
부호 (sign) | 1 bit | – 양수는 0, 음수는 1으로 표현 |
지수 (Exponent) | 8 bit | – 소수점의 위치를 표현 |
가수 (Fraction) | 23 bit | – 전체 숫자를 표현 |
(2) 부동 소수점의 표현 사례
- 십진수 -118.625를 IEEE 754 기반 32 bit 단정밀도(Single precision)로 변환하여 표현하는 사례
![]() | ||
# | 단계 | 변환 표현 세부 절차 |
---|---|---|
① | 부호 표현 | 십진수 -118.625는 음수 이므로 부호는 1(2)로 표현 |
② | 이진수 변환 | 십진수 -118.625의 절댓값을 이진수 1110110.101(2)로 변환 |
③ | 정규화 | 소수점을 좌측으로 이동, 1.110110101(2) x 26 로 변환 (정규화된 부동소수점) |
④ | 지수 표현 | 지수는 6이며, Bias 상수(127)를 더하여 10000101(2)로 표현 |
⑤ | 가수 표현 | 가수는 소수점의 우측 부분으로 표현하며, 부족한 비트는 0으로 채움 |
⑥ | 변환 결과 | 십진수 -118.625의 부동 소수점은 11000010111011010100000000000000 |
- 32 bit 단정밀도(Single precision) 보다 지수 및 가수를 더 많이 표현하기 위해 64 bit (Double precision), 128 bit (Quad precision) 사용
- 부호가 있는 32비트 정수 변수의 최대값은 2 31 − 1 = 2,147,483,647인 반면, IEEE 754 32비트 2진 부동 소수점 변수의 최대값은 (2 − 2 − 23 ) × 2 127 ≈ 3.4028235 × 10 38
- 컴퓨터 프로그래밍이나 전자계산기 등에서 밑수가 10인 경우에 로마자 E 또는 e를 사용하여 함수 형태로 표현하여 -0.4는 -0.04E+1 또는 -0.04e+1이 되며, 정규화하면 -4E-1 또는 -4e-1로 표현
[참고]
- 최덕기, 학산미디어, 이공학도를 위한 수치해석, 2017