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 mathématique et à virgule flottante
exp
, expf
, expl
log
, logf
, log10
, log10f
sqrt
, sqrtf
, sqrtl
_CIpow
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour