티스토리 뷰

32bit Single Precision(단정도 실수)

부호비트

(significant)
1bit

지수부

(exponent)
8bit

가수부

(mantissa)
23bit



64bit Double Precision(배정도 실수)

부호비트
1bit

지수부
11bit

가수부
52bit



80bit Exitended Precision(확장정도 실수)

부호비트
1bit

지수부
15bit

1

가수부
63bit


(-1)s * 1.m * 2e - bias 형식으로 나타내는 것을 정규화라고 하며 각 s, m, e값을 메모리에 저장하게 된다.


마이너스 지수를 표현하기 위해서 지수부가 표현가능한 범위에서 bias값을 빼게 된다.


예를 들어 64bit Double Precision에서는 지수부가 211 = 2048 이므로 (1024 - 1)을 빼면 음수가 표현 가능하게 되므로


bias는 1023이 된다.



64bit Double Precision 변환 예제


462.5를 2진수로 변환하면 111001110.1 이다. 이를 정규화 시키면 아래와 같이 된다.

   ∴ (-1)0 × 1.110011101 × 28


부호는 양수이다

   ∴ 부호비트(s) = 0


정규화할 경우 첫 자리는 언제나 1이므로 생략한다(1비트를 더 사용할수 있게된다)

   ∴ 가수부(m) = 110011101


e - bias = 8 이므로 (64bit Double Precision에서 bias는 1023이다)

   ∴ 지수부(e) = 8 + 1023 = 1031 = 10000000111


메모리에 저장되는 값은

0

100 0000 0111

1100 1110 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000



( 참고 : http://en.wikipedia.org/wiki/IEEE_754 )

댓글
안내
궁금한 점을 댓글로 남겨주시면 답변해 드립니다.