Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Microsoft-spezifische Grundtypenfunktionen, die verwendet werden, um einige standardmäßige C-Laufzeitbibliotheksfunktionen (CRT) zu implementieren. Sie sind hier für Vollständigkeit dokumentiert, aber nicht für die Verwendung empfohlen. Einige dieser Funktionen werden als nicht verwendet bezeichnet, da sie bekanntermaßen Probleme mit Genauigkeit, Ausnahmebehandlung und Konformität mit IEEE-754-Verhalten haben. Sie sind nur aus Gründen der Abwärtskompatibilität in der Bibliothek vorhanden. Um das richtige Verhalten, die Portabilität und die Einhaltung von Standards zu gewährleisten, bevorzugen Sie die Standard-Gleitkommafunktionen gegenüber diesen Funktionen.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
_dclass, _ldclass_fdclass
Syntax
short __cdecl _dclass(double x);
short __cdecl _ldclass(long double x);
short __cdecl _fdclass(float x);
Parameter
x
Gleitkommafunktionsargument.
Hinweise
Diese Gleitkommagrundtypen implementieren die C-Versionen des CRT-Makros fpclassify für Gleitkommatypen. Die Klassifizierung des Arguments x wird als eine der folgenden Konstanten zurückgegeben, die in math.h definiert sind:
| Wert | Beschreibung |
|---|---|
FP_NAN |
Ein stiller, signalisierender oder unbestimmter NaN |
FP_INFINITE |
Eine positive oder negative Unendlichkeit |
FP_NORMAL |
Ein positiver oder negativer ungleich null normalisierter Wert |
FP_SUBNORMAL |
Ein positiver oder negativer Subnormalwert (denormalisiert) |
FP_ZERO |
Ein positiver oder negativer Nullwert |
Für weitere Details können Sie die microsoftspezifischen _fpclassFunktionen _fpclassf verwenden. Verwenden Sie das Makro oder die fpclassify Funktion für die Portabilität.
_dsign, _ldsign_fdsign
Syntax
int __cdecl _dsign(double x);
int __cdecl _ldsign(long double x);
int __cdecl _fdsign(float x);
Parameter
x
Gleitkommafunktionsargument.
Hinweise
Diese Gleitkommagrundtypen implementieren das Makro oder die signbit Funktion im CRT. Sie geben einen Wert ungleich Null zurück, wenn das Zeichenbit im Significand (Mantissa) des Arguments xfestgelegt ist. Andernfalls geben sie 0 zurück, wenn das Zeichenbit nicht festgelegt ist.
_dpcomp, _ldpcomp, _fdpcomp
Syntax
int __cdecl _dpcomp(double x, double y);
int __cdecl _ldpcomp(long double x, long double y);
int __cdecl _fdpcomp(float x, float y);
Parameter
x, y
Gleitkommafunktionsargumente.
Hinweise
Diese Gleitkommagrundtypen verwenden zwei Argumente x und ygeben einen Wert zurück, der ihre Sortierbeziehung anzeigt, ausgedrückt als bitweise oder von diesen Konstanten, die in math.h definiert sind:
| Wert | Beschreibung |
|---|---|
_FP_LT |
x kann als kleiner als y |
_FP_EQ |
x kann als gleich angesehen werden y |
_FP_GT |
x kann größer als y |
Diese Grundtypen implementieren die isgreaterMakros isgreaterequal, , islessequalisless, islessgreaterund isunordered Funktionen im CRT.
_dtest, _ldtest, _fdtest
Syntax
short __cdecl _dtest(double* px);
short __cdecl _ldtest(long double* px);
short __cdecl _fdtest(float* px);
Parameter
px
Zeiger auf ein Gleitkommaargument.
Hinweise
Diese Gleitkommagrundtypen implementieren die C++-Versionen der CRT-Funktion fpclassify für Gleitkommatypen. Das Argument x wird ausgewertet, und die Klassifizierung wird als eine der folgenden Konstanten zurückgegeben, die in math.h definiert sind:
| Wert | Beschreibung |
|---|---|
FP_NAN |
Ein stiller, signalisierender oder unbestimmter NaN |
FP_INFINITE |
Eine positive oder negative Unendlichkeit |
FP_NORMAL |
Ein positiver oder negativer ungleich null normalisierter Wert |
FP_SUBNORMAL |
Ein positiver oder negativer Subnormalwert (denormalisiert) |
FP_ZERO |
Ein positiver oder negativer Nullwert |
Für weitere Details können Sie die microsoftspezifischen _fpclassFunktionen _fpclassf verwenden. Verwenden Sie die fpclassify Funktion zur Portabilität.
_d_int, _ld_int, _fd_int
Syntax
short __cdecl _d_int(double* px, short exp);
short __cdecl _ld_int(long double* px, short exp);
short __cdecl _fd_int(float* px, short exp);
Parameter
px
Zeiger auf ein Gleitkommaargument.
exp
Ein Exponent als integraler Typ.
Hinweise
Diese Gleitkommagrundtypen verwenden einen Zeiger auf einen Gleitkommawert px und einen Exponentenwert exp, und entfernen Sie ggf. den Bruchteil des Gleitkommawerts unter dem angegebenen Exponenten. Der zurückgegebene Wert ist das Ergebnis des fpclassify Eingabewerts, px wenn es sich um eine NaN- oder Unendlichkeit handelt, und andernfalls für den Ausgabewert px .
_dscale, _ldscale, _fdscale
Syntax
short __cdecl _dscale(double* px, long exp);
short __cdecl _ldscale(long double* px, long exp);
short __cdecl _fdscale(float* px, long exp);
Parameter
px
Zeiger auf ein Gleitkommaargument.
exp
Ein Exponent als integraler Typ.
Hinweise
Diese Gleitkommagrundtypen verwenden einen Zeiger auf einen Gleitkommawert px und einen Exponentenwert expund skalieren den Wert nach Möglichkeit um px 2exp. Der zurückgegebene Wert ist das Ergebnis des fpclassify Eingabewerts, px wenn es sich um eine NaN- oder Unendlichkeit handelt, und andernfalls für den Ausgabewert px . Für Portabilität bevorzugen Sie die ldexp, ldexpf, ldexpl Funktionen.
_dunscale, _ldunscale, _fdunscale
Syntax
short __cdecl _dunscale(short* pexp, double* px);
short __cdecl _ldunscale(short* pexp, long double* px);
short __cdecl _fdunscale(short* pexp, float* px);
Parameter
pexp
Ein Zeiger auf einen Exponenten als integraler Typ.
px
Zeiger auf ein Gleitkommaargument.
Hinweise
Diese Gleitkommagrundtypen unterteilen den Gleitkommawert, auf den verwiesen wird, durch px ein Significand (Mantissa) und einen Exponenten, falls möglich. Das Signifikat wird so skaliert, dass der absolute Wert größer oder gleich 0,5 und kleiner als 1,0 ist. Der Exponent ist der Wert n, wobei der ursprüngliche Gleitkommawert dem skalierten Zeichenwert von 2n entspricht. Dieser ganzzahlige Exponent n wird an der Stelle gespeichert, auf pexpdie verwiesen wird. Der zurückgegebene Wert ist das Ergebnis des fpclassify Eingabewerts, px wenn es sich um einen NaN oder unendlichen Wert handelt, und andernfalls für den Ausgabewert. Für Portabilität bevorzugen Sie die frexp, frexpf, frexpl Funktionen.
_dexp, _ldexp, _fdexp
Syntax
short __cdecl _dexp(double* px, double y, long exp);
short __cdecl _ldexp(long double* px, long double y, long exp);
short __cdecl _fdexp(float* px, float y, long exp);
Parameter
y
Gleitkommafunktionsargument.
px
Zeiger auf ein Gleitkommaargument.
exp
Ein Exponent als integraler Typ.
Hinweise
Diese Gleitkommagrundtypen erstellen einen Gleitkommawert an der Position, die auf px * y 2exp verweist. Der zurückgegebene Wert ist das Ergebnis des fpclassify Eingabewerts, y wenn es sich um eine NaN- oder Unendlichkeit handelt, und andernfalls für den Ausgabewert px . Für Portabilität bevorzugen Sie die ldexp, ldexpf, ldexpl Funktionen.
_dnorm, _fdnorm
Syntax
short __cdecl _dnorm(unsigned short* ps);
short __cdecl _fdnorm(unsigned short* ps);
Parameter
ps
Zeiger auf die bitweise Darstellung eines Gleitkommawerts, ausgedrückt als Array von unsigned short.
Hinweise
Diese Gleitkommagrundtypen normalisieren den Bruchteil eines unterlaufenen Gleitkommawerts und passen das Merkmal oder den voreingenommenen Exponenten entsprechend an. Der Wert wird als bitweise Darstellung des Gleitkommatyps übergeben, der in ein Array mit unsigned short der _double_val_ldouble_val_float_val in math.h deklarierten Vereinigung oder Typzeichenunion konvertiert wird. Der Rückgabewert ist das Ergebnis des fpclassify Eingabe-Gleitkommawerts, wenn es sich um einen NaN oder unendlichen Wert handelt und andernfalls für den Ausgabewert.
_dpoly, _ldpoly, _fdpoly
Syntax
double __cdecl _dpoly(double x, double const* table, int n);
long double __cdecl _ldpoly(long double x, long double const* table, int n);
float __cdecl _fdpoly(float x, _float const* table, int n);
Parameter
x
Gleitkommafunktionsargument.
table
Zeiger auf eine Tabelle mit Konstantenkoeffizienten für ein Polynom.
n
Reihenfolge des zu bewertenden Polynoms.
Hinweise
Diese Gleitkommagrundtypen geben die Auswertung x im Polynom der Reihenfolge n zurück, deren Koeffizienten durch die entsprechenden Konstantenwerte in tabledargestellt werden. Wenn z. B table[0] . = 3,0, table[1] = 4,0, table[2] = 5,0 und n = 2, stellt sie das Polynomial 5,0x2 + 4,0x + 3,0 dar. Wenn dieses Polynom für x 2,0 ausgewertet wird, ist das Ergebnis 31,0. Diese Funktionen werden nicht intern verwendet.
_dlog, _dlog, _dlog
Syntax
double __cdecl _dlog(double x, int base_flag);
long double __cdecl _ldlog(long double x, int base_flag);
float __cdecl _fdlog(float x, int base_flag);
Parameter
x
Gleitkommafunktionsargument.
base_flag
Kennzeichnen, das die zu verwendende Basis steuert, 0 für Basis e und ungleich Null für Basis 10.
Hinweise
Diese Gleitkommagrundtypen geben das natürliche Protokoll von x (ln(x) oder loge(x)) zurück, wenn base_flag 0 ist. Sie geben die Protokollbasis 10 von xoder log10(x) zurück, wenn base_flag nicht Null ist. Diese Funktionen werden nicht intern verwendet. Für Portabilität bevorzugen Sie die Funktionen , , logf, logl, log10, log10fund log10l.log
_dsin, _ldsin, _fdsin
Syntax
double __cdecl _dsin(double x, unsigned int quadrant);
long double __cdecl _ldsin(long double x, unsigned int quadrant);
float __cdecl _fdsin(float x, unsigned int quadrant);
Parameter
x
Gleitkommafunktionsargument.
quadrant
Quadrantenoffset von 0, 1, 2 oder 3, um ergebnisse zu erzeugen, zu cos-sin-cos verwenden.sin
Hinweise
Diese Gleitkommagrundtypen geben den Sinus des x Offsets durch das quadrant Modulo 4 zurück. Effektiv geben sie den Sinus, Kosinus, -Sinus und -Kosinus zurück, wenn x quadrant Modulo 4 0, 1, 2 oder 3 ist. Diese Funktionen werden nicht intern verwendet. Für Portabilität bevorzugen Sie die Funktionen , , sinf,cossinl , . coslcosfsin
Anforderungen
Kopfzeile: <math.h>
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Siehe auch
Mathematische Unterstützung und Gleitkommaunterstützung
fpclassify
_fpclass, _fpclassf
isfinite, _finite_finitef
isinf
isnan, _isnan_isnanf
isnormal
cos, cosfcosl
frexp, frexpffrexpl
ldexp, ldexpfldexpl
log, , logflogl, log10, , log10flog10l
sin, sinfsinl