Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Moltiplica un numero a virgola mobile per una potenza integrale di due.
Sintassi
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
Parametri
x
Valore a virgola mobile.
exp
Esponente dell'intero.
Valore restituito
Se ldexp ha esito positivo, le funzioni restituiscono il valore * x 2exp . In caso di overflow e a seconda del segno di x, ldexp restituisce +/- HUGE_VAL; il errno valore è impostato su ERANGE.
Per altre informazioni sui errno possibili valori restituiti dall'errore, vedereerrno , _doserrno_sys_errlist, e _sys_nerr.
Osservazioni:
Poiché C++ consente l'overload, è possibile chiamare overload di ldexp che accettino tipi float e long double. In un programma C, a meno che non si usi la <macro tgmath.h> per chiamare questa funzione, ldexp accetta sempre e double un int e restituisce un oggetto double.
Se si utilizza la <macro tgmath.h>ldexp() , il tipo dell'argomento determina quale versione della funzione è selezionata. Per informazioni dettagliate, vedere La matematica generica dei tipi.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
| Ciclo | Intestazione C | Intestazione C++ |
|---|---|---|
ldexp, ldexpf, ldexpl |
<math.h> | <cmath> |
ldexp macro |
<tgmath.h> |
Per informazioni sulla compatibilità, vedere Compatibilità.
Esempio
// 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 );
}
Output
4.0 times two to the power of 3 is 32.0
Vedi anche
Supporto matematico e a virgola mobile
frexp
modf, modff, modfl