IEEE 754   IEEE Floating point Representation, Standard of Binary Floating-point Arthmetic   IEEE 부동소수점, 컴퓨터 2진 부동소수점 표현

(2020-08-10)

Single Precision, 단정도, 단 정밀도, Double Precision, 배정도, 배 정밀도


1. 컴퓨터에서, 2진 부동소수점 표현 (IEEE 754)컴퓨터에서는, 실수를 2진 부동소수점으로 표현함

      

  ㅇ 표현 내 필수요소 셋
     - 부호 부분 (Sign)
     - 가수 부분 (Mantissa/Fraction)
     - 지수 부분(Exponent)

  ※ IEEE 754 (1985, 2008, 2019) 
     - 실수 표기 방식, 실수 연산에 관한 규정, 오버플로우/언더플로우의 처리,
       반올림에 관한 규정 등을 포함하는 방대한 표준


2. 단정도(단 정밀도) 및 배정도(배 정밀도) 표현법컴퓨터에서는, 
     - 정밀도(Precision) = 유효자리수(Significant Digit) 이라고도 함

  ㅇ 단정도 (Single Precision, 단 정밀도) 표현법
       

     - 비트 수 : 총 32 비트
        . (부호부 1 비트, 지수부 8 비트, 가수부 23비트)

     - 가수 부분의 표현
        . 가수 부분 정규화 : 1/(기수) ≤ (가수) ≤ 1  
        . 가수 부분 첫째 비트 : 항상 1 
           .. 왜냐하면, 2진수 소수부 표현이 항상 1.… 임

     - 수치 표현 例)
        . 10진수 값 = (-1)부호부 x 2(지수부 10진수값 - 127) x (1.가수2진수값) 
        . 0 10000010 11100000000000000000000 
           .. = (-1)0 x 2130-127 x (1 + 1x0.5 + 1x0.25 + 1x0.125 + 0)
           .. = + 1 x 8 x 1.875 = + 15

     - 표현 범위
        . 가장 큰 수   : ± (2 - 2-23) x 2127
           .. 지수(exponent) = 01111111(2) = 127(10)
           .. 가수(mantissa) = 1.111…1(2) = 2.0 x (1/2 + 1/22 + … + 1/223)
                             = 2.0 x (1 - 2-24)(10) = 2 - 2-23(10)
        . 가장 작은 수 : ± 2-126

     - 0,∞ 표현
        .  0 에 대한 표현 : 지수 및 가수 부분의 모든 비트가 `0` 인 것 (+0 또는 -0)
        .  ∞에 대한 표현 : 지수 비트가 모두 `1`, 가수 비트가 모두 `0` (+∞ 또는 -∞)

  ㅇ 배정도 (Double Precision, 배 정밀도) 표현법
       

     - 비트 수 : 총 64 비트
        . (부호부 1 비트, 지수부 11 비트, 가수부 52 비트)

     - 수치 표현
        . 위 단정도와 유사하나, 자리수가 더 많음
        . 가수 부분은 1.ddd...d 처럼 표현됨
           .. ddd...d 부분이 52 비트를 차지함
        . 즉, 가수 부분의 유효자리수2진수 53자리(부호 포함)이므로, 
           .. 10진수 유효자리수는 253=1015.95으로 약 16자리가 됨

     - 배 정밀도의 장점 및 단점
        . 가수 부분의 자리수가 많으므로, 반올림 오차 등을 줄일 수 있으나,
        . 단 정밀도에 비해 2배 이상의 메모리 및 계산시간이 필요함



Copyrightⓒ written by 차재복 (Cha Jae Bok)