http://en.wikipedia.org/wiki/IEEE_754
32bit Single Precision(단정도 실수)
부호비트 (significant) | 지수부 (exponent) | 가수부 (mantissa) |
64bit Double Precision(배정도 실수)
부호비트 | 지수부 | 가수부 |
80bit Exitended Precision(확장정도 실수)
부호비트 | 지수부 | 1 | 가수부 |
※ (-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 |
시험이 내일인데 IEEE floating-point standard 를 보고 있다.. 당연한 것인데 개념을 잘못 이해했나?
익숙하지 않아서 그럴 것이다 (주절주절)
'컴퓨터' 카테고리의 다른 글
SD Card를 삼 (7) | 2006.12.27 |
---|---|
Intel과 SPARC 어셈블리 언어를 보니 (8) | 2006.12.22 |
전자회로 과제하다 과로해버렸음 -_-;; (2) | 2006.11.24 |
EditPlus에서 Assembly code 문법 파일 적용 방법 (3) | 2006.11.19 |
EditPlus에 쓸 SPARC Assembly code 문법파일 만들었음 (1) | 2006.11.18 |