내일배움캠프

내일배움캠프 게임개발 과정 6일차: float 데이터형 끼리의 비교

pracumj 2024. 9. 19. 21:00

오늘 공부한 내용📝

오늘은 float 자료형끼리의 비교에 대해 배웠다.  float은 정확한 값이 아니기 때문에 ==로 비교하면 오류가 발생할 수 있다. 이를 해결하기 위해 "허용 오차(Epsilon)"를 사용하여 두 값의 차이가 매우 작은 경우, 같다고 간주하는 방법을 배웠다.

float a = 0.1f + 0.2f;
float b = 0.3f;
float epsilon = 0.00001f;

if (Math.Abs(a - b) < epsilon) {
    Console.WriteLine("Equal");
} else {
    Console.WriteLine("Not Equal");
}

 

이 코드는 float 값이 부정확하게 저장될 수 있다는 점을 보완해, 좀 더 안정적인 비교를 가능하게 해준다.

궁금한 내용 / 부족한 내용 🤔

비슷한 원리로 double 자료형끼리도 비교할 때 주의가 필요하다는 것을 알게 되었다.double은 float에 비해 더 높은 정밀도를 제공하지만, 부동소수점 특성상 여전히 오차가 발생할 수 있다.

  • 실전 코딩에서 float 대신 double을 사용해야 하는 경우 

 

 

느낀점😺

오늘 공부를 통해 단순히 숫자를 비교하는 것인데도 매우 세심한 접근이 필요하다는 것을 깨달았다.앞으로도 이런 부분에 주의하면서 프로그래밍을 해야겠다.