Сравнение разности двух вещественных чисел с третьим вещественным числом

129
19 июня 2022, 17:20

У меня есть вещественные числа a, b и с. Нужно чтобы выполнялось выражение c == (b - a), проблема возникает именно с "равно". Думал использовать fabs((b - a) - c) < DBL_EPSILON, но не выходит.

Answer 1
   // ..
    AreClose(b - a, c);
   // ...
    static bool AreClose(double value1, double value2)
    {
        //in case they are Infinities (then epsilon check does not work)
        if (value1 == value2) return true;
        // This computes (|value1-value2| / (|value1| + |value2| + 10.0)) < DBL_EPSILON
        double eps = (fabs(value1) + fabs(value2) + 10.0) * DBL_EPSILON;
        double delta = value1 - value2;
        return(-eps < delta) && (eps > delta);
    }
READ ALSO
как реализовать перегрузку оператора &quot;=&quot; для односвязного списка в c ++?

как реализовать перегрузку оператора "=" для односвязного списка в c ++?

Предыстория: мне нужно реализовать алгоритм быстрой сортировки для односвязного списка

143
Как извлечь usb устройство с помощью WinApi?

Как извлечь usb устройство с помощью WinApi?

Как используя средства WinApi безопасно извлечь телефон или компьютерную мышь из usb порта? Уже пробовал использовать CM_Request_Eject(), удалось извлечь...

155
Как четные столбцы матрицы инициализировать в обратном порядке?

Как четные столбцы матрицы инициализировать в обратном порядке?

Не уверен, что правильно понял ваши пожелания, но все же:

155