Compartir a través de


ldexp

Multiplica un número de punto flotante por una potencia integral de dos.

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 ); 

Parámetros

  • x
    Valor de punto flotante.

  • exp
    Exponente de entero.

Valor devuelto

Si es correcta, la función ldexp devuelve el valor de x * 2exp. En caso de desbordamiento, y según cuál sea el signo de x, ldexp devuelve +/– HUGE_VAL; el valor de errno se establece en ERANGE.

Para más información sobre errno y otros posibles valores devueltos erróneos, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Comentarios

Como C++ permite las sobrecargas, puede llamar a las sobrecargas de ldexp que toman los tipos float y long double. En un programa C, ldexp siempre toma un double y un int, y devuelve un double.

Requisitos

Rutina

Encabezado C

Encabezado C++

ldexp, ldexpf, ldexpl

<math.h>

<cmath>

Para obtener información de compatibilidad, vea Compatibilidad.

Ejemplo

// 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 );
}

Salida

4.0 times two to the power of 3 is 32.0

Equivalente en .NET Framework

System::Math::Pow

Vea también

Referencia

Compatibilidad con el punto flotante

frexp

modf, modff