scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl
Multipliziert eine Gleitkommazahl mit einer ganzzahligen Potenz von FLT_RADIX.
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 ); double scalbln( double x, long exp ); float scalbln( float x, long exp ); // C++ only long double scalbln( long double x, long exp ); // C++ only float scalblnf( float x, long exp ); long double scalblnl( long double x, long exp );
Parameter
x
Gleitkommawert.exp
Ganzzahlexponent.
Rückgabewert
Bei Erfolg gibt die scalbn-Funktion den Wert von x * FLT_RADIXexp zurück. Bei einem Überlauf und abhängig vom Vorzeichen von x, gibt scalbn +/– HUGE_VAL zurück. Der errno-Wert wird auf ERANGE gesetzt.
Weitere Informationen über errno und mögliche Fehlerrückgabewerte finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.
Hinweise
FLT_RADIX ist in <float.h> als native Gleitkommabasis definiert; in binären Systemen hat es den Wert 2, und scalbn entspricht ldexp.
Da C++ das Überladen zulässt, können Sie Überladungen von scalbn und scalbln aufrufen, die float- oder long double-Typen verwenden und zurückgeben. In einem C-Programm verwendet scalbn immer double und int und gibt double zurück, und scalbln verwendet immer double und long und gibt double zurück.
Anforderungen
Funktion |
C-Header |
C++-Header |
---|---|---|
scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl |
<math.h> |
<cmath> |
Zusätzliche 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