오늘 공부한 내용📝
오늘은 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을 사용해야 하는 경우
느낀점😺
오늘 공부를 통해 단순히 숫자를 비교하는 것인데도 매우 세심한 접근이 필요하다는 것을 깨달았다.앞으로도 이런 부분에 주의하면서 프로그래밍을 해야겠다.
'내일배움캠프' 카테고리의 다른 글
내일배움캠프내일배움캠프 게임개발 과정 8일차: Delegate (0) | 2024.09.23 |
---|---|
내일배움캠프 게임개발 과정 7일차: Ref 와 Out 키워드 (0) | 2024.09.20 |
내일배움캠프 게임개발 과정 5일차 (0) | 2024.09.13 |
내일배움캠프 게임개발 과정 4일차 - 카드 뒤집기 게임 보완하기 (0) | 2024.09.12 |
내일배움캠프 게임개발 과정 3일차 - 미니 프로젝트 구현 (0) | 2024.09.11 |