✅ 목표 (Goal)

부동 소수점 오차에 대해 알아보자.

✅ 목차 (Index)

부동 소수점 방식을 사용하면 고정 소수점 방식보다 훨씬 더 많은 범위까지 표현할 수 있다.

그러나, 부동 소수점 방식에 의한 실수의 표현은 항상 오차가 존재한다는 단점이 있다.

부동 소수점 방식에서의 오차는 앞서 살펴본 공식에 의해 발생하는데

이 공식을 사용하면 표현할 수 있는 범위는 늘어나지만, 10진수를 정확하게 표현할 수는 없게 되기 때문이다.

따라서 컴퓨터에서 실수를 표현하는 방법은 정확한 표현이 아닌 언제나 근사치를 표현할 뿐임을 항상 유념해야 한다.

다음 예제는 부동 소수점 방식으로 실수를 표현할 때 발생할 수 있는 오차의 예제이다.

✅ 부동 소수점 오차가 발생하는 예제

#include <stdio.h>

int main() {
    float sum = 0.1f;
    for (int i = 0; i < 1000; i++) {
        sum += 0.1f;
    }
    printf("0.1을 1000번 더한 합계는 %f입니다.\\n", sum);
    return 0;
}

image.png

✅ 부동 소수점 대소비교 금지!