old/ComputerScience

[컴퓨터과학/C언어] IEEE 754 double 형 변환 (64bit)

뒷골목프로그래머 2020. 5. 29. 08:08
반응형

 IEEE 754는 IEEE에서 개발한 컴퓨터에서 부동소수점을 표현하는 가장 널리 쓰이는 표준입니다. IEEE 754에는 32비트 단정도(single-precision), 64비트 배정도(double-precision), 43비트 이상의 확장단정도, 79비트 이상의 확장 배정도에 대한 형식을 정의하고 있습니다. 많은 프로그래밍 언어에서 IEEE 표준을 따르도록 정의하고 있으며, C에서는 float은 단정도, double은 배정도와 대응됩니다.

64bit double precision (글쓰는 개발자)

 본 실습에서는 64bit double-precision 변환 과정을 살펴보겠습니다. 본래, 손으로 직접 계산한 것을 설명한 후, 손글씨 또한 첨부하겠습니다.


실습 숫자 : 8.5

1. 2진수 변환

   1) 변환하고자 하는 숫자가 8진수, 10진수, 16진수든 상관없이 변환하고자 하는 숫자를 2진수로 변환

   2) 8.5를 2진수로 변환하면 1000.1

2. 정규화 (Specific notation)

   1) 변환한 2진수를 정규화

3. IEEE 754 double precision

   1) 지수부(exponent)

       - IEEE 754 는 bias 표현법으로 양수와 음수를 표현

       - 지수부(exponent) = bias + power, 지수부가 n비트라면 2^(n-1) - 1을 바이어스 상수라고 함

       - 실습에서 정규화결과 1.0001x 2^3이므로 power = 3이고, 지수부는 11bit 이므로 bias = 1023

       - 따라서, 지수부(exponent) = bias + power = 1023 + 3 = 1026

       - 10진수 1026을 2진수로 변환하여 지수부에 대응

   2)  가수부

        - 정규화 한 값의 소수점 아래 부분을 가수부에 순서대로 입력하고 나머지는 모두 0으로 처리

        - 실습에서 소수점 아래 부분은 0001 이므로 00010000.....0000으로 가수부에 입력

 

 3)  최종변환 결과

 

4. 실습 자료

8.5 IEEE 754 double-precision
A0F9.0EB IEEE 754 double precision

 

반응형