Я собираюсь выполнить математические вычисления с использованием С++. Номер с плавающей запятой ввода является допустимым числом, но после вычислений полученное значение является NaN. Я хотел бы проследить точку, в которой появляется значение NaN (возможно, с использованием GDB), вместо того, чтобы вставлять в код много isNan()
. Но я обнаружил, что даже такой код не вызывает исключение, когда появляется значение NaN.
double dirty = 0.0;
double nanvalue = 0.0/dirty;
Может ли кто-нибудь предложить метод для отслеживания NaN или превращения NaN в исключение?