08. C Language(Data type)(float)
08. C Language(Data type)(float)
[toc]
실수형 자료형: float와 double
이번 학습에서는 C 언어에서 실수를 표현하기 위한 자료형인 float
와 double
에 대해 정리하였다. 컴퓨터는 실수를 저장할 때 부동소수점 방식(Floating-Point Representation)을 사용하며, 이 방식은 IEEE 754 표준에 기반한다.
1. 부동소수점(Floating-Point) 표현 방식이란?
- 실수를 저장할 때 소수점의 위치를 고정하지 않고, 가수부(Mantissa)와 지수부(Exponent)로 나누어 저장하는 방식이다.
- 예: 실수
321.765
→3.21765 × 10^2
→ C 언어 표기:3.21765E2
- 이렇게 하면 숫자의 정밀도와 크기를 동시에 효율적으로 저장할 수 있다.
2. float vs double
자료형 | 크기 | 표현 범위 | 소수점 정밀도 |
---|---|---|---|
float | 4 Byte (32 Bit) | 1.2E-38 ~ 3.4E+38 | 약 6자리 |
double | 8 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