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에 값을 할당
댓글남기기