Я знаю, что не могу сравнивать два числа с плавающей точкой или двойные числа для абсолютного равенства на C++/C. Если по какой-то причине я пишу условие if, которое использует абсолютное равенство, гарантируется ли, что условие if вернет тот же результат на разные прогоны программы для одних и тех же данных? Или это чисто недетерминированно, и результат может меняться?Сравнение с плавающей точкой - результат между различными прогонами
1
A
ответ
1
Для того же скомпилированного двоичного файла и на том же ПК результаты должны быть одинаковыми. Если вы используете другой компилятор или другой компьютер, результаты могут отличаться.
0
У меня когда-то был единичный тест, который потерпел неудачу на машине с процессором Intel, но работал нормально на AMD. Вероятно, была какая-то разница в округлении, и тест без проблем попал в критерий прохождения/отказа.
Но я бы не поместил ваш код сверхкомплексными тестами всюду только из-за этого.
Смежные вопросы
- 1. Сравнение типов с плавающей точкой
- 2. Сравнение с плавающей точкой specfic
- 3. MatLab сравнение с плавающей точкой
- 4. C Сравнение нуля с плавающей точкой
- 5. Число с плавающей точкой и нулевое сравнение
- 6. Сравнение чисел с плавающей точкой в Баш
- 7. Сравнение с плавающей точкой с нулем
- 8. Сравнение с плавающей точкой в сценарии оболочки
- 9. Сравнение с плавающей точкой постоянного назначения
- 10. Сравнение с плавающей точкой в STL, BOOST
- 11. Сравнение чисел с плавающей точкой в Java
- 12. Сравнение чисел с плавающей точкой к нулю
- 13. Сравнение с плавающей точкой без FCOM
- 14. Сравнение чисел с плавающей точкой в D
- 15. Сравнение с плавающей точкой в VB6
- 16. Арифметика с плавающей точкой и сравнение значений с плавающей запятой
- 17. Круглый вниз с плавающей точкой Результат
- 18. Странный результат операции с плавающей точкой чисел
- 19. Сравнение чисел с плавающей точкой с целыми числами в Javascript
- 20. Эквивалентность с плавающей точкой?
- 21. Сериализация с плавающей точкой, сравнение с лексикографией == Сравнение с плавающей запятой
- 22. C Результат с плавающей точкой Результат округлен до нуля
- 23. с плавающей точкой округления
- 24. Преобразование между стандартами с плавающей точкой
- 25. Сравнение с плавающей точкой C++ вокруг нуля с помощью Gtest
- 26. setprecision и с плавающей точкой
- 27. Цель C: Безопасное сравнение с плавающей точкой странно
- 28. Сравнение с плавающей точкой и Int в Python
- 29. Сравнение чисел с плавающей точкой в сценарии bash
- 30. JavaScript с плавающей точкой любопытство
На другом компьютере вы имеете в виду другую архитектуру? –
Да, я думаю, что это единственное, что здесь имеет значение. – schnaader
Время от времени я получаю разные результаты по инверсии матрицы (менее значимый бит), выполняющий тот же исполняемый файл на одной машине. – peterdemin