Condividi tramite


pow, powf, powl

Calcola x elevato alla potenza di y.

double pow(
   double x,
   double y 
);
double pow(
   double x,
   int y
);  // C++ only
float pow(
   float x,
   float y 
);  // C++ only
float pow(
   float x,
   int y
);  // C++ only
long double pow(
   long double x,
   long double y
);  // C++ only
long double pow(
   long double x,
   int y
);  // C++ only
float powf(
   float x,
   float y 
);
long double powl(
   long double x,
   long double y
);

Parametri

  • x
    Base.

  • y
    Esponente.

Valore restituito

Restituisce il valore di xy. Nessun messaggio di errore viene visualizzato in caso di overflow o underflow.

Valori x e y

Valore restituito della potenza

x < > 0 e y = 0.0

1

x = 0.0 e y = 0.0

1

x = 0.0 e y < 0

INF

Note

pow non riconosce valori a virgola mobile integrali maggiori di 264 (ad esempio, 1.0E100).

pow dispone di un'implementazione che utilizza Streaming SIMD Extensions 2 (SSE2). Per informazioni e le restrizioni sull'implementazione SSE2, vedere _set_SSE2_enable.

Poiché C++ consente l'overload, è possibile chiamare uno dei vari overload di pow. In un programma C, pow accetta sempre due valori double e restituisce un valore double.

L'overload pow(int, int) non è più disponibile. Se si utilizza questo overload, il compilatore può generare C2668. Per evitare questo problema, eseguire il cast del primo parametro a double, float, o long double.

Requisiti

Routine

Intestazione obbligatoria

pow, powf, powl

<math.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.

Librerie

Tutte le versioni delle Librerie di runtime C.

Esempio

// crt_pow.c

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 2.0, y = 3.0, z;

   z = pow( x, y );
   printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );
}

Output

2.0 to the power of 3.0 is 8.0

Equivalente .NET Framework

System::Math::Pow

Vedere anche

Riferimenti

Supporto a virgola mobile

exp, expf

log, logf, log10, log10f

sqrt, sqrtf, sqrtl

_CIpow