| Previous | Next |
| STATUS_FLOAT_DENORMAL_OPERAND | STATUS_FLOAT_INEXACT_RESULT |
STATUS_FLOAT_DIVIDE_BY_ZERO
Floating-point division by zero trapped instead of producing an infinity
IEEE floating-point arithmetic distinguishes division of a finite nonzero value by zero from invalid operations such as 0/0. With the divide-by-zero exception masked, hardware commonly produces a signed infinity and sets a status flag. When the exception is unmasked, Windows delivers this status through SEH.
The diagnostic must include the active floating-point environment because the same source expression may trap in one thread and continue in another. Inspect the exact numerator, denominator, precision, and instruction set. A denominator can become zero through underflow, flush-to-zero mode, data conversion, or missing input validation even when the original higher-precision value was nonzero.
What to inspect
- Capture operands and determine whether the operation used x87 or SSE/AVX state.
- Record exception masks, rounding mode, DAZ, and FTZ settings.
- Trace how the denominator became zero at the operation’s actual precision.
- Do not confuse finite/zero with 0/0, which is an invalid-operation exception.
References
- Microsoft Learn: _fpieee_flt
- Microsoft Learn: _control87 and _controlfp
- Microsoft Learn: /fp floating-point behavior
- Intel: Floating-Point Reference Sheet
Looking for a different code? Search another status or error code.