부동 소수점 (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

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^