fetestexcept
Bestimmt, welche der angegebenen Gleitkommaausnahme-Statusflags momentan festgelegt sind
Syntax
int fetestexcept(
int excepts
);
Parameter
excepts
Bitweiser OR der zu testenden Gleitkomma-Statusflags
Rückgabewert
Gibt bei Erfolg eine Bitmaske mit einem bitweisen OR der Gleitkommaausnahme-Makros zurück, die den derzeit festgelegten Ausnahmestatusflags entsprechen. Gibt 0 zurück, wenn keine Ausnahmen festgelegt wurden.
Hinweise
Verwenden Sie die Funktion „fetestexcept“, um zu bestimmen, welche Ausnahmen durch einen Gleitkommavorgang ausgelöst wurden. Verwenden Sie den Parameter excepts
, um die zu testenden Ausnahmestatusflags anzugeben. Die fetestexcept
Funktion verwendet diese Ausnahmemakros, die in <fenv.h> excepts
definiert sind, und den Rückgabewert:
Ausnahmemakro | Beschreibung |
---|---|
FE_DIVBYZERO |
Eine Singularität oder ein Polstellenfehler aus einer früheren Gleitkommaoperation; ein Unendlichkeitswert wurde erstellt. |
FE_INEXACT |
Die Funktion wurde gezwungen, das gespeicherte Ergebnis einer früheren Gleitkommaoperation zu runden. |
FE_INVALID |
Ein Domänenfehler ist in einer früheren Gleitkommaoperation aufgetreten. |
FE_OVERFLOW |
Ein Bereichsfehler ist aufgetreten; das Ergebnis einer früheren Gleitkommaoperation war zu groß, um dargestellt zu werden. |
FE_UNDERFLOW |
Das Ergebnis einer früheren Gleitkommaoperation war zu klein, um ganz genau dargestellt zu werden; ein nicht normaler Wert wurde erstellt. |
FE_ALL_EXCEPT |
Bitweiser OR-Operator oder alle unterstützten Gleitkommaausnahmen |
Das angegebene Argument excepts
kann entweder 0, eines der unterstützten Gleitkommaausnahme-Makros oder das bitweise OR von mindestens zwei der Makros sein. Der Effekt von jedem anderen excepts
-Argumentwert ist nicht definiert.
Um diese Funktion zu verwenden, müssen Sie vor dem Aufruf Gleitkommaoptimierungen deaktivieren, die den Zugriff mithilfe der #pragma fenv_access(on)
-Direktive verhindern könnten. Weitere Informationen finden Sie unter fenv_access
.
Anforderungen
Funktion | C-Header | C++-Header |
---|---|---|
fetestexcept |
<fenv.h> | <cfenv> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.