Site icon EfmSoft

Что означает код NTSTATUS 0xC0000090 (STATUS_FLOAT_INVALID_OPERATION)?

 
Предыдущий Следующий
STATUS_FLOAT_INEXACT_RESULT STATUS_FLOAT_OVERFLOW

STATUS_FLOAT_INVALID_OPERATION

Что означает STATUS_FLOAT_INVALID_OPERATION

STATUS_FLOAT_INVALID_OPERATION означает незамаскированное FP-условие invalid operation. Типичные примеры — 0/0, ∞−∞, квадратный корень отрицательного числа в вещественной арифметике или операция с signaling NaN.

Что проверить

  • Сохраните opcode и исходные операнды в битовом виде, чтобы различить обычное число, infinity и quiet/signaling NaN.
  • Проследите происхождение NaN или недопустимого аргумента до первой операции, которая его создала; последующая инструкция может только обнаружить уже испорченное значение.
  • Сверьте маску invalid-operation и FP control state текущего thread. Изменение маски влияет на доставку исключения, но не делает математически недопустимую операцию корректной.

Чем отличается от деления на ноль

Ненулевое конечное значение, делённое на ноль, относится к divide-by-zero, тогда как 0/0 — к invalid operation. Эта граница полезна при поиске неверной проверки знаменателя. После исправления повторите те же входные данные и убедитесь, что недопустимый операнд не возникает раньше по цепочке.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version