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 x
y
. Aucun message d’erreur n’est imprimé en cas de dépassement de capacité positif ou négatif.
Valeurs des valeurs et x y |
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 des fonctions mathématiques et à virgule flottante
exp
, , expf
expl
log
, , logf
log10
, ,log10f
sqrt
, , sqrtf
sqrtl
_CIpow