| Предыдущий | Следующий |
| STATUS_FLOAT_STACK_CHECK | STATUS_INTEGER_DIVIDE_BY_ZERO |
STATUS_FLOAT_UNDERFLOW
Что означает STATUS_FLOAT_UNDERFLOW
STATUS_FLOAT_UNDERFLOW относится к вычислениям, результат которых по модулю слишком мал для нормализованного представления в выбранном формате с плавающей точкой. При незамаскированном underflow это приводит к исключению; при замаскированном результат может стать subnormal или нулём.
Что проверить
- Сохраните операнды и точный формат результата: для
floatиdoubleграницы различаются. - Проверьте состояние FTZ/DAZ и маску underflow в MXCSR/FPU для сбойного thread. Эти режимы могут быть изменены библиотекой обработки сигналов, графики или численных расчётов.
- Определите, допустимы ли subnormal-значения по смыслу алгоритма. В итерационных и научных расчётах очень малые величины иногда являются нормальным результатом, а не дефектом.
Как подтвердить исправление
Если потеря масштаба нежелательна, измените нормализацию данных или формулу и повторите тот же расчёт. Если underflow допустим, явно согласуйте режим обработки малых чисел и допустимую погрешность вместо случайного изменения масок исключений.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
