_control87, _controlfp

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu float.h - Index


Header-Datei

float.h

Prototyp

unsigned int _control87(unsigned int newcw, unsigned int mask);
unsigned int _controlfp(unsigned int newcw, unsigned int mask);

Beschreibung

Ändert das Gleitkommakontrollwort.

_control87 ruft das Gleitkommakontrollwort ab und ändert es.

Das Gleitkommakontrollwort ist ein Wert vom Typ unsigned int, der Bit für Bit bestimmte Modi in der Gleitkommabibliothek definiert, insbesondere Genauigkeit, Unendlichkeit und Rundungsmodi. Durch Änderung dieser Modi können Gleitkomma-Exceptions maskiert bzw. verfügbar gemacht werden.

_control87 ordnet die Bits in mask den entsprechenden Bits in newcw zu. Wenn ein Bit in mask gleich 1 ist, enthält das zugehörige Bit in newcw den neuen Wert für das entsprechende Bit im Gleitkommakontrollwort, und _control87 weist dem Bit im Kontrollwort den neuen Wert zu.

Es folgt ein einfaches Beispiel:

Ursprüngliches Kontrollwort: 0100 0011 0110 0011
mask: 1000 0001 0100 1111
newcw: 1110 1001 0000 0101
Geänderte Bits: 1xxx xxx1 x0xx 0101

Wenn das Bit in mask gleich 0 ist, gibt _control87 das Gleitkommakontrollwort zurück, ohne es zu ändern.

_controlfp wird bereitgestellt, um die Kompatibilität mit Microsoft zu gewährleisten. _controlfp unterscheidet sich von _control87 nur dadurch, dass das Bit EM_DEMORMAL stets aus dem Parameter entfernt (deaktiviert) wird.

Rückgabewert

Die Bits im zurückgegebenen Wert spiegeln das neue Gleitkommakontrollwort wider. Die vollständige Definition der von _control87 zurückgegebenen Bits finden Sie in der Header-Datei float.h.

Portabilität

POSIX ANSI C ANSI C++ Win32 Win64 macOS
_control87 + + + +
_controlfp + + + +

Siehe auch