Computer Science

IEEE 754 | 부동 소수점 표현법, single precision, biased exponent

토마토. 2021. 9. 7. 18:37


IEEE 754 standard formats
: 부동 소수점을 표현하는 표준

-1) single precision
: 32bit - float
-2) double precision
: 64bit - double 


IEEE 754 - single precision의 형태
- (-1)^s * 1.bbbbb * 2^(+-E)

IEEE에는 3 가지 구성요소가 있다. 

1. sign bit (1bit)
- 위 식에서 s를 담당
- 0이면, 양수
- 1이면, 음수

2. normalized significand/mantissa : 가수부분 (23bit)
- 위 식에서 bbbb...b를 담당
- normalized라는 것은 123.45라는 수를 0.12345 * 10^3과 같은 형태로 바꾸는 것이다. 
- 그렇게 0.12345로 바뀐 부분을 true significand라고 한다. 

* 참고 significand 위키
123.45 = 0.12345 × 10+3.
Schmid called this representation with a significand ranging between 0.1 and 1.0 the true normalized form

3. biased exponent : 지수 부분 (8bit)
- 위 식에서 (+-E)를 담당
- 8bit로는 2^8 = 256 개의 수를 표현할 수 있다. 
- 양/음을 표현하기 위해 여기서 일단 127을 빼서 음수는 -127까지, 양수는 +128까지 표현하도록 한다.
- biased라는 것은 실제 수(음수는 -127까지, 양수는 128까지)에 127을 더한 수라는 뜻이다. 
- bias는 127이다. 
 - special number로 빼놓은 (-127)은 0 or NaN값, (+128)은 발산하는 값 or 엄청나게 작은 수를 나타낸다.