Fixed vs Floating point
소수점 표현 방식은 크게 두 가지로 나뉘게 되는데
Fixed point, 고정 소수점 방식과
Floating point, 부동 소수점 방식이다.
컴퓨터에서는 2진수인 binary로 값을 표현하기 때문에
10진수의 정수 데이터 또한 2진수의 합으로 표현하듯이
실수 데이터 또한 2진수의 합으로써 표현하게 된다
Fixed Point, 고정 소수점
- 정수를 표현하는 비트, 소수를 표현하는 비트 수를 미리 정함 (고정)
- Sign 1bit + Integer 15bit + Fraction 16bit = 32bit 으로 구성
- Int. Frac. 각각에 대해 고정된 bit 할당에 따른 표현 범위 제한
Floating Point, 부동 소수점
- Sign 1bit + Exponent(지수부) 8bit + Mantissa(가수부) 23bit = 32bit 으로 구성
- 다음과 같은 방식으로 실수를 표현하게 됨
- 표현하고자 하는 숫자의 부호에 따라 Sign bit에 값을 할당
Ex) $-118.625$ : 음수 $\rightarrow$ sign bit = 1 - 표현하고자 하는 숫자를 정규화
Ex) $-118.625 = 1110110.101 \rightarrow 1.110110101 * 2^6$ - 지수값에 Bias를 더한 값을 Exponent 항에 할당
Ex) $6+127(IEEE\ 754) = 133 = 10000101_2$ - 정규화 한 값의 소수점 오른쪽 값을 Mantissa 항에 할당
Ex) $110110101 \rightarrow 110110101 + 00000000000000$ - $-118.625 = 1 / 10000101 / 11011010100000000000000$
- 표현하고자 하는 숫자의 부호에 따라 Sign bit에 값을 할당
댓글남기기