Share via


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

abs

Rückgabe des absoluten Werts von int

System::Math::Abs

acos, acosf

Berechnung des Arcuscosinus

System::Math::Acos

asin, asinf

Berechnung des Arcussinus

System::Math::Asin

atan, atanf, atan2, atan2f

Berechnung des Arcustangens

System::Math::Atan, System::Math::Atan2

atof, _atof_l, _wtof, _wtof_l

Umwandeln einer Zeichenfolge in einen Gleitkommawert mit doppelter Genauigkeit

System::Convert::ToSingle, System::Convert::ToDouble

Bessel-Funktionen

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.

_cabs

Suchen des absoluten Werts einer komplexen Zahl

Nicht zutreffend.

cbrt

Berechnung der Kubikwurzel

Nicht zutreffend.

ceil, ceilf

Suche nach einem ganzzahligen Höchstwert

System::Math::Ceiling

_chgsign, _chgsignf, _chgsignl

Umkehrung des Vorzeichens eines Gleitkommawerts mit doppelter Genauigkeit oder eines langen Gleitkommaarguments mit doppelter Genauigkeit

Nicht zutreffend.

_clear87, _clearfp

Abrufen und Löschen des Gleitkommastatuswortes

Nicht zutreffend.

_control87, _controlfp, __control87_2, _controlfp_s

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.

cos, cosf, cosh, coshf

Berechnung des Cosinus

System::Math::Cos, System::Math::Cosh

difftime

Berechnung der Differenz zwischen zwei angegebenen Zeitwerten

System::DateTime::Subtract

div

Teilen einer Ganzzahl durch eine andere und Rückgabe des Quotienten und des Rests

Nicht zutreffend.

_ecvt, _ecvt_s

Konvertieren von double in eine Zeichenfolge der angegebenen Länge

System::Convert::ToString

exp, expf

Berechnen einer Exponentialfunktion

System::Math::Exp

fabs, fabsf

Suche nach dem Absolutwert

System::Math::Abs

_fcvt, _fcvt_s

Konvertieren von double in eine Zeichenfolge mit einer angegebenen Anzahl von Ziffern hinter dem Dezimaltrennzeichen

System::Convert::ToString

_finite

Bestimmung, ob ein gegebener Gleitkommawert mit doppelter Genauigkeit endlich ist

System::Double::IsInfinity

floor, floorf

Suche nach der größten Ganzzahl, die kleiner oder gleich dem Argument ist

System::Math::Floor

fmod, fmodf

Suche nach dem Gleitkommarest

System::Math::IEEERemainder

_fpclass

Rückgabe des Statuswortes, das Information über die Gleitkommaklasse enthält

System::Double::IsInfinity, System::Double::IsNegativeInfinity, System::Double::IsPositiveInfinity, System::Double::IsNan

_fpieee_flt

Aufruf eines benutzerdefinierten Traphandlers für IEEE-Gleitkommaausnahmen

Nicht zutreffend.

_fpreset

Reinitialisieren eines mathematischen Gleitkommapakets

 

frexp

Berechnen eines Exponentialwerts

Nicht zutreffend.

_gcvt, _gcvt_s

Konvertieren von Gleitkommawerten in Zeichenfolgen

System::Convert::ToString

hypot, hypotf, hypotl, _hypot, _hypotf, _hypotl

Berechnung der Hypotenuse eines rechtwinkligen Dreiecks

Nicht zutreffend.

_isnan

Prüfen eines Gleitkommawerts mit doppelter Genauigkeit für einen Nicht-Zahlenwert (NaN, Not a Number)

System::Double::IsNan

labs

Rückgabe des absoluten Werts von long

System::Math::Abs

ldexp

Berechnung des Produkts aus einem Argument und 2exp (bestimmte Potenz)

System::Math::Pow

ldiv

Teilen einer long Ganzzahl durch eine andere und Rückgabe des Quotienten und des Rests

Nicht zutreffend.

log, logf, log10, log10f

Berechnung eines natürlichen Logarithmus oder eines Logarithmus zur Basis 10.

System::Math::Log, System::Math::Log10

_logb

Extraktion des Exponentialwerts aus einem Gleitkommaargument mit doppelter Genauigkeit

Nicht zutreffend.

_lrotl, _lrotr

Verschiebung von unsigned long int nach links (_lrotl) oder rechts (_lrotr)

Nicht zutreffend.

_matherr

Behandlung von Mathematikfehlern

Nicht zutreffend.

__max

Rückgabe des größeren von zwei Werten

System::Math::Max

__min

Rückgabe des kleineren von zwei Werten

System::Math::Min

modf, modff

Teilen eines Arguments in eine Ganzzahl und einen Bruch

Nicht zutreffend.

nan, nanf, nanl

Rückgabe eines stillen NaN-Werts

System::Double::NaN

_nextafter

Rückgabe des nächsten darstellbaren Nachbarn

Nicht zutreffend.

pow, powf

Berechnung eines auf eine Potenz erhöhten Werts

System::Math::Pow

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

System::Console::Write, System::Console::WriteLine

rand, rand_s

Aufruf einer Pseudozufallszahl

System::Random Class

rint, rintf, rintl

Rundung auf die nächste Ganzzahl im Gleitkommaformat

System::Math::Round

_rotl, _rotr

Verschiebung von unsigned int nach links (_rotl) oder rechts (_rotr)

Nicht zutreffend.

_scalb

Skalieren eines Arguments durch eine Zweierpotenz

Nicht zutreffend.

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl

Multiplizieren mit einer ganzzahligen Potenz von FLT_RADIX

Nicht zutreffend.

scanf, wscanf, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

Lesen von Daten aus stdin in einem angegebenen Format und Schreiben von Daten auf einen angegebenen Speicherort

System::Console::Read, System::Console::ReadLine

_set_controlfp

Festlegung des neuen Steuerwortwerts

Nicht zutreffend.

sin, sinf, sinh, sinhf

Berechnung des Sinus oder hyperbolischen Sinus

System::Math::Sin, System::Math::Sinh

sqrt

Berechnung der Quadratwurzel

System::Math::Sqrt

srand

Initialisierung einer Pseudozufallsserie

System::Random Class

_status87, _statusfp, _statusfp2

Abrufen des Gleitkommastatuswortes

Nicht zutreffend.

strtod, _strtod_l, wcstod, _wcstod_l

Umwandeln einer Zeichenfolge in einen Wert mit doppelter Genauigkeit

System::Convert::ToDouble

tan, tanf, tanh, tanhf

Berechnung des Tangens oder des hyperbolischen Tangens

System::Math::Tan, System::Math::Tanh

Siehe auch

Referenz

Laufzeitroutinen nach Kategorie