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