Condividi tramite


scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl

Moltiplica un numero a virgola mobile per una potenza integrale di 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 );

Parametri

  • x
    Valore a virgola mobile.

  • exp
    Esponente dell'intero.

Valore restituito

Le funzioni scalbn, se hanno esito positivo, restituiscono il valore di x * FLT_RADIXexp. In condizione di overflow, in base al segno di x, scalbn 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

FLT_RADIX viene definito in <float.h> come base a virgola mobile nativa. Nei sistemi binari assume un valore di 2 e scalbn equivale a ldexp.

Dato che C++ consente l'overload, è possibile chiamare degli overload di scalbn e scalbln che accettino e restituiscano tipi float o long double. In un programma C scalbn accetta sempre double e int, restituendo double, mentre scalbln accetta sempre double e long, restituendo double.

Requisiti

Funzione

Intestazione C

Intestazione C++

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl

<math.h>

<cmath>

Per altre informazioni sulla compatibilità, vedere Compatibilità.

Esempio

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

Output

6.4 times FLT_RADIX to the power of 3 is 51.2

Equivalente .NET Framework

System::Math::Pow

Vedere anche

Riferimenti

Supporto a virgola mobile

frexp

ldexp

modf, modff