logo

Fonction de puissance en C/C++

Étant donné deux nombres de base et d'exposant, le C++ ou C fonction pow() trouve x élevé à la puissance y, c'est-à-dire Xet . Fondamentalement, en C/C++, la valeur de l'exposant est calculée à l'aide de la fonction pow(). Le fonction pow() est utilisé pour calculer la puissance d'un nombre en C/C++. Il prend le double en entrée et renvoie le double en sortie.

Nous devons utiliser #inclure en C/C++ pour utiliser cette fonction pow() dans notre programme C/C++.



Syntaxe de la fonction pow()

double pow  (double x, double y);>

Paramètres de la fonction pow()

Cette méthode ne prend que deux arguments :

    x : valeur de base à virgule flottante y : valeur de puissance à virgule flottante

Valeur de retour de la fonction pow()

  • La fonction puissance renvoie la valeur à virgule flottante de x élevée à la puissance y ( Xet ).

Exemple de fonction pow()

 Input: 2.0, 5.0 Output: 32.00 Explanation:  pow(2.0, 5.0) executes 2.0 raised to the power 5.0, which equals 32 Input: 5.0, 2.0 Output: 25.00 Explanation:  pow(5.0, 2.0) executes 5.0 raised to the power 2.0, which equals 25>

C






git ajoute tout



// C program to illustrate> // power function> #include> #include> int> main()> {> >double> x = 6.1, y = 4.8;> >// Storing the answer in result.> >double> result =>pow>(x, y);> >printf>(>'%.2lf'>, result);> >return> 0;> }>

>

>

C++




// C++ program to illustrate> // power function> #include> using> namespace> std;> int> main()> {> >double> x = 6.1, y = 4.8;> >// Storing the answer in result.> >double> result =>pow>(x, y);> >// printing the result upto 2> >// decimal place> >cout << fixed << setprecision(2) << result << endl;> >return> 0;> }>

>

>

Sortir

5882.79>

Complexité temporelle : O(log(n))

Espace auxiliaire : O(1)

Fonctionnement de la fonction pow() avec des entiers

La fonction pow() prend « double » comme argument et renvoie une valeur « double ». Cette fonction ne fonctionne pas toujours pour les entiers. Un tel exemple est pow(5, 2). Lorsqu'il est affecté à un entier, il génère 24 sur certains compilateurs et fonctionne correctement pour certains autres compilateurs. Mais pow(5, 2) sans aucune affectation à un entier produit 25.

Une autre façon peut être d'utiliser le rond fonction pour l’attribuer à un type entier.

nom de la ville des États-Unis
  • C'est parce que 52(c'est-à-dire 25) peut être stocké sous la forme 24.9999999 ou 25.0000000001 car le type de retour est double. Lorsqu'il est attribué à int, 25.0000000001 devient 25 mais 24.9999999 donnera la sortie 24.
  • Pour surmonter ce problème et afficher la réponse précise au format entier, nous pouvons ajouter 1e-9 ou 0,000000001 au résultat et le transtyper en int par exemple (int)(pow(5, 2)+1e-9) donnera la bonne réponse (25, dans l'exemple ci-dessus), quel que soit le compilateur.

Exemple 1 : Programme C/C++ pour démontrer le comportement de la fonction pow() avec des entiers.

C++




// C++ program to illustrate> // working with integers in> // power function> #include> using> namespace> std;> int> main()> {> >int> a, b;> >// Using typecasting for> >// integer result> >a = (>int>)(>pow>(5, 2) + 0.5);> >b = round(>pow>(5,2));> >cout << a << endl << b ;> >return> 0;> }>

>

>

C




// C program to illustrate> // working with integers in> // power function> #include> #include> int> main()> {> >int> a, b;> >// Using typecasting for> >// integer result> >a = (>int>)(>pow>(5, 2) + 1e-9);> >b = round(>pow>(5,2));> >printf>(>'%d %d'>, a, b);> >return> 0;> }>

>

c tableau de chaînes

>

Sortir

25 25>

Complexité temporelle : O(log(n))
Espace auxiliaire : O(1)