¿Qué significa el código NTSTATUS 0xC000008E (STATUS_FLOAT_DIVIDE_BY_ZERO)?

 
Anterior Siguiente
STATUS_FLOAT_DENORMAL_OPERAND STATUS_FLOAT_INEXACT_RESULT

STATUS_FLOAT_DIVIDE_BY_ZERO

Qué significa STATUS_FLOAT_DIVIDE_BY_ZERO

STATUS_FLOAT_DIVIDE_BY_ZERO distingue divide-by-zero de operaciones inválidas como 0/0. Con la excepción enmascarada el hardware puede producir infinito y setear un flag; con la máscara desactivada Windows entrega esta exception.

Hay que inspeccionar el denominador en la precisión real de la instrucción. Un valor no nulo en double puede convertirse en cero por underflow, flush-to-zero o conversión antes de la división.

Qué comprobar

  • Capture numerador, denominador, instruction y precisión real.
  • Registre rounding mode y masks de x87/MXCSR.
  • Compruebe conversiones y FTZ que hayan convertido un valor pequeño a cero.
  • Busque la primera división problemática antes de infinities/NaNs secundarios.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.