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 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 , , 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 );
}
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
, modff
modfl