Что означает код NTSTATUS 0xC0000093 (STATUS_FLOAT_UNDERFLOW)?

 
Предыдущий Следующий
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 допустим, явно согласуйте режим обработки малых чисел и допустимую погрешность вместо случайного изменения масок исключений.

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


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