scalbn
, scalbnf
, scalbnl
, scalbln
, scalblnf
, scalblnl
Multipliziert eine Gleitkommazahl durch eine integrale Potenz von FLT_RADIX
.
Syntax
double scalbn(
double x,
int exp
);
float scalbn(
float x,
int exp
); // C++ only
long double scalbn(
long double x,
int exp
); // C++ only
float scalbnf(
float x,
int exp
);
long double scalbnl(
long double x,
int exp
);
#define scalbn(X, INT) // Requires C11 or higher
double scalbln(
double x,
long exp
);
float scalblnf(
float x,
long exp
);
long double scalblnl(
long double x,
long exp
);
#define scalbln(X, LONG) // Requires C11 or higher
float scalbln(
float x,
long exp
); // C++ only
long double scalbln(
long double x,
long exp
); // C++ only
Parameter
x
Gleitkommawert.
exp
Ganzzahlexponent.
Rückgabewert
Bei Erfolg gibt die scalbn
-Funktion den Wert von x
* FLT_RADIX
exp zurück. Beim Überlauf (abhängig vom Vorzeichen x
) scalbn
wird +/- HUGE_VAL
zurückgegeben; der errno
Wert wird auf ERANGE
. festgelegt.
Weitere Informationen zu errno
und möglichen Fehlerrücklaufwerten finden Sie unter errno
, , _doserrno
, _sys_errlist
und _sys_nerr
.
Hinweise
FLT_RADIX
wird in <float.h> als systemeigene Gleitkommaradiix definiert; auf binären Systemen hat sie einen Wert von 2 und scalbn
entspricht ldexp
.
Da C++ eine Überladung zulässt, können Sie Überladungen aufrufen scalbn
und scalbln
zurückgeben oder long double
zurückgebenfloat
. In einem C-Programm, es sei denn, Sie verwenden das <Tgmath.h-Makro> , um diese Funktion aufzurufen, scalbn
nimmt immer ein double
und gibt int
ein und gibt ein und gibt ein double
und scalbln
immer ein double
und gibt long
einen double
zurück.
Wenn Sie die <Tgmath.h>scalbn()
- oder scalbln
Makros verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter "Typgenerika" .
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Anforderungen
Funktion | C-Header | C++-Header |
---|---|---|
scalbn , scalbnf , scalbnl , scalbln , scalblnf , scalblnl |
<math.h> | <cmath> |
scalbn oder scalbln Makro |
<tgmath.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_scalbn.c
// Compile using: cl /W4 crt_scalbn.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 6.4, y;
int p = 3;
y = scalbn( x, p );
printf( "%2.1f times FLT_RADIX to the power of %d is %2.1f\n", x, p, y );
}
Ausgabe
6.4 times FLT_RADIX to the power of 3 is 51.2
Siehe auch
Mathematische und Gleitkommaunterstützung
frexp
ldexp
modf
, modff
, modfl
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für