Partager via


pow, powf, powl

Calcule x élevé à la puissance de y.

Syntaxe

double pow( double x, double y );
float powf( float x, float y );
long double powl( long double x, long double y );
define pow(X, Y) // Requires C11 or higher

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

Paramètres

x
Base.

y
Exposant.

Valeur retournée

Retourne la valeur de xy. Aucun message d’erreur n’est imprimé en cas de dépassement de capacité positif ou négatif.

Valeurs des valeurs et xy Valeur de retour de pow
x != 0.0 et y == 0.0 1
x == 0,0 et y == 0,0 1
x == 0,0 et y< 0 INF

Notes

pow ne reconnaît pas les valeurs à virgule flottante intégrale supérieures à 264 (par exemple, 1.0E100).

pow présente une implémentation qui utilise SSE2 (Streaming SIMD Extensions 2). Pour plus d’informations et de restrictions sur l’utilisation de l’implémentation SSE2, consultez _set_SSE2_enable.

Sachant que C++ autorise la surcharge, vous pouvez appeler l’une des diverses surcharges de pow. Dans un programme C, sauf si vous utilisez la <tgmath.h> macro pour appeler cette fonction, pow prend toujours deux double valeurs et retourne une double valeur.

Si vous utilisez la pow macro à partir de <tgmath.h>laquelle , le type de l’argument détermine la version de la fonction sélectionnée. Pour plus d’informations, consultez les mathématiques génériques de type.

La surcharge pow(int, int) n’est plus disponible. Si vous utilisez cette surcharge, le compilateur peut émettre C2668. Pour éviter ce problème, effectuez un cast du premier paramètre en double, float ou long double.

À l’origine, les pow(T, int) surcharges ont annulé l’appel pow dans une séquence d’opérations de multiplication inline. Alors qu’il était plus rapide, il était aussi beaucoup moins précis. Cette implémentation a été supprimée dans Visual Studio 2015 Update 1. Pour plus d’informations, consultez Améliorations de la conformité dans Visual Studio 2015 Update 1.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Routine En-tête requis (C) En-tête requis (C++)
pow, powf, powl <math.h> <math.h> ou <cmath>
Macro pow <tgmath.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

// 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 );
}
2.0 to the power of 3.0 is 8.0

Voir aussi

Prise en charge mathématique et à virgule flottante
exp, expf, expl
log, logf, log10, log10f
sqrt, sqrtf, sqrtl
_CIpow