X

부동 소수점 (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 1273.4028235 × 10 38
  • 컴퓨터 프로그래밍이나 전자계산기 등에서 밑수가 10인 경우에 로마자 E 또는 e를 사용하여 함수 형태로 표현하여 -0.4는 -0.04E+1 또는 -0.04e+1이 되며, 정규화하면 -4E-1 또는 -4e-1로 표현

 
[참고]

  • 최덕기, 학산미디어, 이공학도를 위한 수치해석, 2017
Categories: CA/운영체제
도리: