IEEE 754 - floating point (부동소수점)

August 05 2006 17:19 Study

IEEE 754는 컴퓨터에서 소숫점을 표현하기 위한 방법이다.

single precision은 32비트
즉 1워드에 저장하고

double precision은 64비트
즉 2워드에 저장한다.

이 비트를 3부분으로 나누어 음수, 소수부분, 지수부분으로 인식한다.

(-1)^S * (1 + F) * 2^
E


F : fraction
앞쪽 비트부터 2^-1, 2^-2... 를 의미한다.

E : exponent
지수부분 기본적으로 unsigned 이며 single precision에선 127, double에선 1023을 뺀다.

S : sign
부호 0이면 양수, 1이면 음수


single [sign : 1bit][exponent : 8bit][fraction : 23bit]

double [sign : 1bit][exponent : 11bit][fraction : 52bit]



1 0111 1110 1000 0000 0000 0000 0000 000

이 수를 single precision으로 보고 해석하면

1 : 음수

0111 1110 = 126

E = 126 - 127 = -1

1000 0000 0000 0000 0000 000 = 2^(-1) = 0.5 => 1.5

답은 -1 * 1.5 * 2^(-1) = -0.75 가 된다.

August 05 2006 17:19 August 05 2006 17:19
Trackback URL : http://yubikiri.com/blog/trackback/11
menu openmenu close