부동 소수점 평등: 시기와 이유
일반적으로 눈살을 찌푸리지만 부동 소수점 비교가 허용되는 경우가 있습니다. .
정확한 정수 표현
부동 소수점 연산의 표준인 IEEE 754는 특정 범위 내의 정수(정수)가 정확하게 표현되도록 보장합니다. 부동 소수점 형식. 즉, 0.0을 포함한 정수에 대한 비교는 항등 연산자(==)를 사용하여 수행할 수 있습니다.
계산된 값에 대한 주의
단, 주의가 필요합니다. 계산에서 파생된 부동 소수점 값으로 작업할 때. 부동 소수점 변수에 정수를 할당하는 것은 안전하지만 부동 소수점 숫자에 대한 산술 연산을 수행하면 반올림 오류가 발생할 수 있습니다. 따라서 계산된 값 간의 동등 비교는 피해야 합니다.
상수 리터럴
변수를 상수 리터럴과 비교할 때 리터럴이 다음과 같이 정의되었는지 확인하는 것이 중요합니다. 배정밀도 정확도를 유지하기 위한 이중 상수(예: 3.14L).
예
제공된 코드 조각에서 정적 const BAR은 이중으로 정의됩니다. . d도 double이면 비교 d == BAR은 d와 BAR이 모두 부동 소수점 표현에 유효한 범위 내의 정수를 나타낸다고 가정할 때 항상 true를 반환합니다.
위 내용은 부동 소수점 평등은 언제 허용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!