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 가 된다.
Trackback URL : http://yubikiri.com/blog/trackback/11
RSS FEED
TEXTCUBE 1.8.4 : Release Candidate 2