| Предыдущий | Следующий |
| STATUS_ARRAY_BOUNDS_EXCEEDED | STATUS_FLOAT_DIVIDE_BY_ZERO |
STATUS_FLOAT_DENORMAL_OPERAND
Что означает STATUS_FLOAT_DENORMAL_OPERAND
STATUS_FLOAT_DENORMAL_OPERAND означает, что операция с плавающей точкой получила denormal (subnormal) входной операнд и соответствующее FP-условие не было замаскировано.
Что проверить
- Сохраните адрес инструкции и битовое представление операндов, чтобы подтвердить, какое значение действительно находится в subnormal-диапазоне.
- Найдите операцию, которая породила очень малое число: постепенное затухание результата, преобразование формата или масштабирование входных данных.
- Проверьте DAZ/FTZ и маски исключений в MXCSR/FPU именно текущего thread; библиотеки могут менять эти режимы локально.
Выбор исправления
Если subnormal имеет математический смысл, алгоритм должен явно определять допустимую точность и режим его обработки. Если он является следствием ошибки масштаба, исправляйте источник значения. Включение DAZ превращает очень малый вход в ноль и способно изменить результат вычисления, поэтому это не нейтральный способ скрыть статус.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.