1 minute read

부동소수점 수의 표현

- 부동 소수점 표현

    지수를 이용하여 소수점의 위치를 이동시킬 수 있는 수 표현 방법

- 부동 소수점 수

    부동 소수점으로 표현한 수

- 부동 소수점 수의 일반적인 형태

    N = (-1)^S * M * B^E

- 2진 부동소수점 수

    부동소수점 표현 방식을 적용하여 표현된 2진수

    사용되는 비트 수에 따라 32 비트나 64 비트로 표현됨

    N = (-1)^S * M * 2^E

    S는 부호, M은 가수, B는 기수, E는 지수

    가수는 정밀도 결정

    지수는 표현 가능한 수의 범위를 결정함

    필드를 적절히 조정해야 함

- 단일 정밀도 수, 복수 정밀도 수

    32비트로 표현된 부동 소수점 수

    64비트로 표현된 부동 소수점 수

- 정규화된 표현

    소수점 우측의 첫 번째 비트가 1이 되도록 지수를 조정하여 표현한 부동소수점 수

    첫 비트는 항상 1이 되기때문에 반드시 저장하지 않고 있는 것으로 처리해 줌

- 바이어스된 수

    특정 값을 더하여 표현된 2진수

- 바이어스된 지수

    바이어스화 된 지수

    지수의 값이 아주 큰 음수라면 2^E 의 절대값이 거의 0에 가까워지는 것을 이용하여 128을 더함

- 오버/언더플로우

    부동 소수점 형식을 이용하여 표현할 수 없는 수

    오버플로우는 지수의 최대 양수로 나타낼 수 없을 경우로 큰 경우에 발생

    언더플로우는 결과값이 지수로 나타낼 수 없을 정도로 적은 경우에 발생하며 0에 매우 근접한 작은 크기때문에 심각한 문제는 아님

- IEFF 754

    컴퓨터들 간의 데이터 호환성을 높이기 위해 미국전기전자공학회(IEFF)에서 부동 소수점 표현의 표준 형식을 제안한 것

    가수가 1.M * 2^E 의 형태를 가짐

    N = (-1)^S*2^(E-127)

    - NaN

        부동소수점 형식으로 나타낼 수 없는 경우.

        0으로 나누거나 음수에 대한 루트 계산 같은 경우.

    - 오버플로우

        결과를 무한대로 취급.

    - 언더플로우

        지수 필드를 0으로 세트하고 비정규화된 형태로 가수를 표현할 수 있게 허용함