ldexp
, , ldexpf
ldexpl
Vynásobí číslo s plovoucí desetinnou čárkou integrální mocninou dvou.
Syntaxe
double ldexp(
double x,
int exp
);
float ldexpf(
float x,
int exp
);
long double ldexpl(
long double x,
int exp
);
#define ldexp(X, INT) // Requires C11 or higher
float ldexp(
float x,
int exp
); // C++ only
long double ldexp(
long double x,
int exp
); // C++ only
Parametry
x
Hodnota s plovoucí desetinou čárkou
exp
Celočíselná exponent.
Vrácená hodnota
Funkce ldexp
v případě úspěchu vrátí hodnotu x
* 2exp
. Při přetečení a v závislosti na znaménku x
vrátí ldexp
+/- HUGE_VAL
; errno
hodnota je nastavena na ERANGE
.
Další informace o errno
návratových hodnotách a možných chybách naleznete v tématuerrno
, _doserrno
, _sys_errlist
, a _sys_nerr
.
Poznámky
Vzhledem k tomu, že jazyk C++ umožňuje přetížení, můžete volat přetížení těchto ldexp
převzetí float
nebo long double
typů. Pokud v programu jazyka C nepoužíváte <makro tgmath.h> k volání této funkce, ldexp
vždy vezme a double
a int
vrátí hodnotu double
.
Pokud použijete <makro tgmath.h>ldexp()
, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Záhlaví jazyka C | Hlavička jazyka C++ |
---|---|---|
ldexp , , ldexpf ldexpl |
<math.h> | <cmath> |
ldexp makro |
<tgmath.h> |
Informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_ldexp.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 4.0, y;
int p = 3;
y = ldexp( x, p );
printf( "%2.1f times two to the power of %d is %2.1f\n", x, p, y );
}
Výstup
4.0 times two to the power of 3 is 32.0
Viz také
Podpora pro matematiku a plovoucí desetinou čárku
frexp
modf
, , modff
modfl