수동 변수와 이중 변수를 비교하는 것은 최종 목표가 무엇인지에 따라 다릅니다. 너무 자세히 설명하지 않고 실행 가능한 기능을 원하고 일부 부정확한 계산에 문제가 없다면 다음 기능을 사용할 수 있습니다 -
예시
#include<iostream> using namespace std; // Define the error that you can tolerate #define EPSILON 0.000001 bool areSame(double a, double b) { return fabs(a - b) < EPSILON; } int main() { double a = 1.005; double b = 1.006; cout << areSame(a, a); cout << areSame(a, b); }
출력
이것은 출력을 제공합니다 -
1 0
이 기능은 오류에 대한 허용 범위를 취하고 임계값이 비교 중인 숫자 간의 차이보다 큰지 확인합니다. 훨씬 더 정확한 정보가 필요하면 이 훌륭한 블로그 게시물을 읽는 것이 좋습니다. https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/