Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 later
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 xvrá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, , ldexpfldexpl |
<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, , modffmodfl