Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 later
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 later
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_RADIXexp zurück. Beim Überlauf (abhängig vom Vorzeichen x) scalbn wird +/- HUGE_VALzurückgegeben; der errno Wert wird auf ERANGE. festgelegt.
Weitere Informationen zu errno und möglichen Fehlerrücklaufwerten finden Sie unter errno, , _doserrno, _sys_errlistund _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 doubleund scalbln immer ein double und gibt long einen doublezurü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 Typgengenerische Mathematik.
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.
Anforderungen
| Funktion | C-Header | C++-Header |
|---|---|---|
scalbn, , scalbnfscalbnl, scalbln, , scalblnfscalblnl |
<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 );
}
Output
6.4 times FLT_RADIX to the power of 3 is 51.2
Siehe auch
Mathematische Unterstützung und Gleitkommaunterstützung
frexp
ldexp
modf, modffmodfl