오늘의 코드카타
오늘의 공부
팀 프로젝트 진행 내용
- 플레이어 캐릭터 생성 및 기본적인 로코모션 구현
오늘의 CS
실수 자료형 연산의 주의점
- 실수 자료형은 유한한 비트로 수를 표현하게 됨
- 따라서 수학적으로 완벽한 실수와 다르게 정밀도 문제가 발생할 수 있음
1. 직접적인 동등 비교 금지
- 문제점 : 0.1과 같은 간단한 실수조차 이진수로 정확하게 표현할 수 없어서 항상 미세한 오차가 발생
- 예 :
(0.1 + 0.2) == 0.3 은 대부분의 환경에서 거짓으로 판별됨
- 해결책 : 두 실수를 비교할 때, 앱실론(허용하는 오차) 값을 정의하여, 두 수의 차이가 아주 작은 오차 범위 내에 있는지 확인해야 함
2. 정밀도 손실 및 자리수 손실
float(32비트): 약 6~7자리의 십진수 정밀도만 보장
double(64비트) : 약 15~16자리의 십진수 정밀도만 보장
- 특정 자리수를 초과한 복잡한 계산을 수행하면, 이후의 숫자는 반올림되어 부정확해짐