Condividi tramite


ldexp

Moltiplica un numero a virgola mobile per una potenza integrale di due.

double ldexp(    double x,    int exp  ); float ldexp(    float x,    int exp );  // C++ only long double ldexp(    long double x,    int exp );  // C++ only  float ldexpf(    float x,    int exp );  long double ldexpl(    long double x,    int exp ); 

Parametri

  • x
    Valore a virgola mobile.

  • exp
    Esponente dell'intero.

Valore restituito

Se eseguita correttamente, la funzione ldexp restituisce il valore di x * 2exp. In condizione di overflow e in base al segno di x, ldexp restituisce +/– HUGE_VAL; il valore errno viene impostato su ERANGE.

Per altre informazioni su errno e i possibili valori di errore restituiti, vedere errno, _doserrno, _sys_errlist, and _sys_nerr.

Note

Poiché C++ consente l'overload, è possibile chiamare overload di ldexp che accettino tipi float e long double. In un programma C, ldexp accetta sempre un double e un int e restituisce un double.

Requisiti

Routine

Intestazione C

Intestazione C++

ldexp, ldexpf, ldexpl

<math.h>

<cmath>

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

Equivalente .NET Framework

System::Math::Pow

Vedere anche

Riferimenti

Supporto a virgola mobile

frexp

modf, modff