Learning
토픽 5 / 111·전체 구조 (Overview)

부동소수점 표현 (IEEE 754)

부동소수점 표현 (IEEE 754)

실수를 컴퓨터에서 표현하기 위한 국제 표준으로, 부호·지수·가수로 구성된 과학적 표기법 기반의 이진 표현 방식

목적: 실수의 표준화된 표현, 이식성 보장, 넓은 수 범위 표현

특징: 부호-지수-가수 구조, 정규화, 바이어스 지수, 특수값 정의

단정밀도(Single Precision, 32비트)

  • 부호(Sign): 1비트, 0=양수, 1=음수
  • 지수(Exponent): 8비트, 바이어스 127, 실제지수=저장값-127
  • 가수(Mantissa/Fraction): 23비트, 암묵적 1(1.xxx 형태), 유효숫자 약 7자리
  • 표현 범위: ±1.18×10⁻³⁸ ~ ±3.4×10³⁸

배정밀도(Double Precision, 64비트)

  • 부호: 1비트, 지수: 11비트(바이어스 1023), 가수: 52비트
  • 유효숫자 약 15-16자리, 표현 범위: ±2.23×10⁻³⁰⁸ ~ ±1.8×10³⁰⁸

특수값

  • 0: 지수=0, 가수=0 (양수0, 음수0 구분)
  • 무한대(Infinity): 지수=모두1, 가수=0
  • NaN(Not a Number): 지수=모두1, 가수≠0, 0/0 등 정의 불가 연산
  • 비정규화 수(Denormalized): 지수=0, 가수≠0, 아주 작은 수 표현

오차 문제: 표현 오차(0.1을 정확히 표현 불가), 반올림 오차, 연산 누적 오차

장점: 넓은 범위, 표준화, HW 가속

단점: 정밀도 한계, 연산 오차, 비교 주의 필요

적용사례: 과학 계산, 3D 그래픽, AI(FP16/BF16), 금융(Decimal 권장)

비교: 단정밀도(32비트/빠름/낮은정밀도) vs 배정밀도(64비트/높은정밀도)

연관: ALU, FPU, 수치 해석, 고정소수점, BF16