Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl

 

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

double scalbn(    double x,    int exp  ); float scalbn(    float x,    int exp );  // C++ only long double scalbn(    long double x,    int exp );  // C++ only  float scalbnf(    float x,    int exp );  long double scalbnl(    long double x,    int exp ); double scalbln(    double x,    long exp  ); float scalbln(    float x,    long exp );  // C++ only long double scalbln(    long double x,    long exp );  // C++ only  float scalblnf(    float x,    long exp );  long double scalblnl(    long double x,    long exp );

x

Valor de punto flotante.

exp

Exponente de entero.

Si son correctas, las funciones scalbn devuelven el valor de x * FLT_RADIXexp. En caso de desbordamiento, y según cuál sea el signo de x, scalbn 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.

FLT_RADIX se define en <float.h> como la base de punto flotante nativa; en los sistemas binarios, tiene un valor de 2, mientras que scalbn equivale a ldexp.

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

Requisitos

Función

Encabezado C

Encabezado C++

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl

<math.h>

<cmath>

Para obtener información adicional de compatibilidad, vea Compatibilidad.

Ejemplo

// crt_scalbn.c
// Compile using: cl /W4 crt_scalbn.c
#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 6.4, y;
   int p = 3;

   y = scalbn( x, p );
   printf( "%2.1f times FLT_RADIX to the power of %d is %2.1f\n", x, p, y );
}

6.4 times FLT_RADIX to the power of 3 is 51.2

Equivalente en .NET Framework

Mostrar: