Gleitkommaunterstützung
Viele Microsoft-Laufzeitbibliothekfunktionen erfordern Gleitkommaunterstützung von einem Mathematik-Coprozessor oder von den Gleitkommabibliotheken, die zum Compiler gehören. Die Funktionen zur Gleitkommaunterstützung werden nur bei Bedarf geladen.
Wenn Sie einen Gleitkomma-Typspezifizierer in der Formatzeichenfolge eines Aufrufs einer Funktion in der Familie printf oder scanf verwenden, müssen Sie einen Gleitkommawert oder einen Zeiger auf einen Gleitkommawert in der Argumenteliste verwenden, um dem Compiler mitzuteilen, dass Gleitkommaunterstützung erforderlich ist.
Einen Beispielcode, der die Verarbeitung von Gleitkommaausnahmen zeigt, finden Sie unter _fpieee_flt.
Die Gleitkommapräzision von Zwischenwerten wird durch die Funktionen _control87, _controlfp, __control87_2 gesteuert. Standardmäßig ist die Genauigkeitssteuerung in _controlfp auf 53 Bit (_PC_53) gesetzt. Eine Verlinkung über FP10.OBJ ändert die Standard-Genauigkeitssteuerung in 64 Bit (_PC_64). In der Linker-Befehlszeile muss FP10.OBJ vor LIBC.LIB, LIBCMT.LIB oder MSVCRT.LIB genannt sein.
Gleitkommafunktionen
Routine |
Verwendung |
.NET Framework-Entsprechung |
---|---|---|
Rückgabe des absoluten Werts von int |
||
Berechnung des Arcuscosinus |
||
Berechnung des Arcussinus |
||
Berechnung des Arcustangens |
||
Umwandeln einer Zeichenfolge in einen Gleitkommawert mit doppelter Genauigkeit |
||
Berechnen von Bessel-Funktionen _j0, _j1, _jn, _y0, _y1, _yn |
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe. |
|
Suchen des absoluten Werts einer komplexen Zahl |
Nicht zutreffend. |
|
Berechnung der Kubikwurzel |
Nicht zutreffend. |
|
Suche nach einem ganzzahligen Höchstwert |
||
Umkehrung des Vorzeichens eines Gleitkommawerts mit doppelter Genauigkeit oder eines langen Gleitkommaarguments mit doppelter Genauigkeit |
Nicht zutreffend. |
|
Abrufen und Löschen des Gleitkommastatuswortes |
Nicht zutreffend. |
|
Aufruf des alten Gleitkommasteuerwortes und Festlegung des neuen Steuerwortwerts |
Nicht zutreffend. |
|
copysign, copysignf, copysignl, _copysign, _copysignf, _copysignl |
Rückgabe eines Werts mit dem Vorzeichen eines anderen Werts |
Nicht zutreffend. |
Berechnung des Cosinus |
||
Berechnung der Differenz zwischen zwei angegebenen Zeitwerten |
||
Teilen einer Ganzzahl durch eine andere und Rückgabe des Quotienten und des Rests |
Nicht zutreffend. |
|
Konvertieren von double in eine Zeichenfolge der angegebenen Länge |
||
Berechnen einer Exponentialfunktion |
||
Suche nach dem Absolutwert |
||
Konvertieren von double in eine Zeichenfolge mit einer angegebenen Anzahl von Ziffern hinter dem Dezimaltrennzeichen |
||
Bestimmung, ob ein gegebener Gleitkommawert mit doppelter Genauigkeit endlich ist |
||
Suche nach der größten Ganzzahl, die kleiner oder gleich dem Argument ist |
||
Suche nach dem Gleitkommarest |
||
Rückgabe des Statuswortes, das Information über die Gleitkommaklasse enthält |
System::Double::IsInfinity, System::Double::IsNegativeInfinity, System::Double::IsPositiveInfinity, System::Double::IsNan |
|
Aufruf eines benutzerdefinierten Traphandlers für IEEE-Gleitkommaausnahmen |
Nicht zutreffend. |
|
Reinitialisieren eines mathematischen Gleitkommapakets |
|
|
Berechnen eines Exponentialwerts |
Nicht zutreffend. |
|
Konvertieren von Gleitkommawerten in Zeichenfolgen |
||
Berechnung der Hypotenuse eines rechtwinkligen Dreiecks |
Nicht zutreffend. |
|
Prüfen eines Gleitkommawerts mit doppelter Genauigkeit für einen Nicht-Zahlenwert (NaN, Not a Number) |
||
Rückgabe des absoluten Werts von long |
||
Berechnung des Produkts aus einem Argument und 2exp (bestimmte Potenz) |
||
Teilen einer long Ganzzahl durch eine andere und Rückgabe des Quotienten und des Rests |
Nicht zutreffend. |
|
Berechnung eines natürlichen Logarithmus oder eines Logarithmus zur Basis 10. |
||
Extraktion des Exponentialwerts aus einem Gleitkommaargument mit doppelter Genauigkeit |
Nicht zutreffend. |
|
Verschiebung von unsigned long int nach links (_lrotl) oder rechts (_lrotr) |
Nicht zutreffend. |
|
Behandlung von Mathematikfehlern |
Nicht zutreffend. |
|
Rückgabe des größeren von zwei Werten |
||
Rückgabe des kleineren von zwei Werten |
||
Teilen eines Arguments in eine Ganzzahl und einen Bruch |
Nicht zutreffend. |
|
Rückgabe eines stillen NaN-Werts |
||
Rückgabe des nächsten darstellbaren Nachbarn |
Nicht zutreffend. |
|
Berechnung eines auf eine Potenz erhöhten Werts |
||
printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l |
Schreiben von Daten auf stdout in einem angegebenen Format |
|
Aufruf einer Pseudozufallszahl |
||
Rundung auf die nächste Ganzzahl im Gleitkommaformat |
||
Verschiebung von unsigned int nach links (_rotl) oder rechts (_rotr) |
Nicht zutreffend. |
|
Skalieren eines Arguments durch eine Zweierpotenz |
Nicht zutreffend. |
|
Multiplizieren mit einer ganzzahligen Potenz von FLT_RADIX |
Nicht zutreffend. |
|
Lesen von Daten aus stdin in einem angegebenen Format und Schreiben von Daten auf einen angegebenen Speicherort |
||
Festlegung des neuen Steuerwortwerts |
Nicht zutreffend. |
|
Berechnung des Sinus oder hyperbolischen Sinus |
||
Berechnung der Quadratwurzel |
||
Initialisierung einer Pseudozufallsserie |
||
Abrufen des Gleitkommastatuswortes |
Nicht zutreffend. |
|
Umwandeln einer Zeichenfolge in einen Wert mit doppelter Genauigkeit |
||
Berechnung des Tangens oder des hyperbolischen Tangens |