Post

08. C Language(Data type)(float)

08. C Language(Data type)(float)

[toc]

실수형 자료형: float와 double

이번 학습에서는 C 언어에서 실수를 표현하기 위한 자료형인 floatdouble에 대해 정리하였다. 컴퓨터는 실수를 저장할 때 부동소수점 방식(Floating-Point Representation)을 사용하며, 이 방식은 IEEE 754 표준에 기반한다.


1. 부동소수점(Floating-Point) 표현 방식이란?

  • 실수를 저장할 때 소수점의 위치를 고정하지 않고, 가수부(Mantissa)지수부(Exponent)로 나누어 저장하는 방식이다.
  • 예: 실수 321.7653.21765 × 10^2
    → C 언어 표기: 3.21765E2
  • 이렇게 하면 숫자의 정밀도와 크기를 동시에 효율적으로 저장할 수 있다.

2. float vs double

자료형크기표현 범위소수점 정밀도
float4 Byte (32 Bit)1.2E-38 ~ 3.4E+38약 6자리
double8 Byte (64 Bit)2.2E-308 ~ 1.8E+308약 14자리

3. float (32 Bit 실수형)

  • 가수부 + 지수부 구조로 구성됨
  • 지수부는 Bias(편향)라는 값을 기준으로 표현되며, 일반적인 음수/양수 부호 방식과는 다르다
  • float는 저장 용량이 작기 때문에 소수점 이하 정밀도는 약 6자리까지만 보장된다

⚠ 지수부가 2^-126부터 시작하는 이유?

  • 모든 지수 비트가 0이면 2^-127인데, 이는 오류(예외 상황)로 간주됨
  • 따라서 정상적인 범위는 2^-126부터 시작한다

4. double (64 Bit 실수형)

  • float보다 더 많은 비트를 가수부에 할당하여 정밀도가 높음
  • 지수부와 가수부를 더 넓게 표현하므로 더 큰 수더 정밀한 수를 저장할 수 있음
  • 소수점 이하 약 14자리까지 정확하게 표현 가능

📌 정리
float와 double은 실수를 저장하기 위한 C 언어의 핵심 자료형이다. float는 메모리 효율이 좋고, double은 정밀한 계산에 적합하다. 실수 표현의 정확도와 메모리 요구량을 고려하여 상황에 맞게 자료형을 선택하는 것이 중요하다.


End