Mingyu Kim

실수 타입

소수점이 있는 숫자를 저장하는 타입. IEEE 754 표준에 따라 실수를 부동 소수점(Floating-point) 방식으로 메모리에 저장

1. 실수 타입의 종류와 범위

타입 메모리 크기 소수점 이하 정밀도 데이터 표현 범위
float 4 bytes (32 bits) 약 7자리 $1.4 \times 10^{-45} \sim 3.4 \times 10^{38}$
double 8 bytes (64 bits) 약 15자리 $4.9 \times 10^{-324} \sim 1.8 \times 10^{308}$

2. 리터럴 작성법과 주의사항

float var1 = 3.14f;
double var2 = 3.14; // 기본이 double이므로 접미사 생략 가능
double var3 = 3e6;    // 3 * 10^6 = 3000000.0
double var4 = 2e-3;   // 2 * 10^-3 = 0.002

3. 부동 소수점 방식의 한계

실수 타입은 정수 타입과 달리 0.1과 같은 값을 이진수로 변환할 때 무한 소수가 발생하는 경우가 많다. 컴퓨터는 이를 유한한 비트 수 안에 담기 위해 근사치로 저장한다.

주의: 따라서 금융 계산처럼 아주 정밀한 계산이 필요한 경우에는 float나 double 대신 BigDecimal 클래스를 사용한다. 0.1을 10번 더했을 때 정확히 1.0이 나오지 않을 수 있기 때문이다.

4. 특수 실수값 (Infinity, NaN)

연산 과정에서 잘못된 값이 입력될 때 발생하는 특수한 상태