Fonctions de la bibliothèque C -pow()

Bibliothèque standard C - <math.h>

Description

Fonctions de la bibliothèque Cdouble pow(double x, double y)renvoie la valeurxde laypuissance, c.-à-d., xy。

pow()est la bibliothèque standard C<math.h>Une fonction utilisée pour calculer la puissance d'un nombre. Plus précisément, elle renvoie le premier argument élevé à la puissance du second argument, c.-à-d.x^y。

Déclaration

Ce qui suit est la déclaration de la fonction pow().

#include <math.h>

double pow(double x, double y);
float powf(float x, float y);
long double powl(long double x, long double y);

Paramètre

  • xBase, un nombre à virgule flottante.
  • yExposant, un nombre à virgule flottante.

Valeur de retour

  • returnxdeypuissance, c.-à-d.x^y。
  • Si le calcul produit une erreur mathématique, telle qu'une puissance non entière d'un nombre négatif, NaN sera renvoyé, eterrno。

Gestion des erreurs

  • ifxest négative etyn'est pas un entier, le résultat est NaN,errnoDéfini àEDOM。
  • si le résultat est trop grand et provoque un débordement, renvoieHUGE_VAL,errnoDéfini àERANGE。
  • si le résultat est trop petit et provoque un sous-dépassement, renvoie0.0,errnoDéfini àERANGE。

Exemple

L'exemple suivant démontre l'utilisation de la fonction pow().

Exemple

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

int main ()
{
   printf("Valeur 8.0 ^ 3 = %lf\n", pow(8.0, 3));

   printf("valeur 3.05 ^ 1.98 = %lf", pow(3.05, 1.98));
   
   return(0);
}

Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :

值 8.0 ^ 3 = 512.000000
值 3.05 ^ 1.98 = 9.097324

gérer plusieurs calculs de puissance

L'exemple suivant montre comment gérer des calculs de puissance avec plusieurs bases et exposants :

Exemple

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

int main() {
    double bases[] = {2.0, -2.0, 0.0, 2.0};
    double exponents[] = {3.0, 3.0, 0.0, -2.0};
    int num_values = sizeof(bases) / sizeof(bases[0]);

    for (int i = 0; i < num_values; i++) {
        double x = bases[i];
        double y = exponents[i];
        errno = 0;  // Réinitialiser errno
        double result = pow(x, y);

        if (errno == EDOM) {
            printf("Erreur de domaine : pow(%f, %f) n'est pas défini\n", x, y);
        } else if (errno == ERANGE) {
            if (result == HUGE_VAL || result == -HUGE_VAL) {
                printf("Erreur de plage : pow(%f, %f) provoque un dépassement de capacité\n", x, y);
            } else {
                printf("Erreur de plage : pow(%f, %f) provoque un sous-dépassement\n", x, y);
            }
        } else {
            printf("pow(%f, %f) = %f\n", x, y, result);
        }
    }

    return 0;
}

Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :

pow(2.000000, 3.000000) = 8.000000
pow(-2.000000, 3.000000) = -8.000000
pow(0.000000, 0.000000) = 1.000000
pow(2.000000, -2.000000) = 0.250000

Explication du code

  • définir deux tableauxbasesetexponents, qui contiennent respectivement plusieurs bases et exposants.
  • UtilisationforParcourir chaque paire de base et d'exposant, appelerpow(x, y)effectuer les calculs de puissance.
  • réinitialisererrnoà 0 et vérifiez les erreurs éventuelles.
  • afficher le résultat ou le message d'erreur de chaque calcul.

Cas d'utilisation

pow()La fonction a un large éventail d'usages dans de nombreuses applications, y compris, mais sans s'y limiter :

  • Calculer les opérations de puissance dans les formules scientifiques.
  • Résoudre des problèmes mathématiques impliquant des équations de puissance.
  • Calculer les intérêts composés en finance.
  • Effectuer divers calculs physiques en ingénierie.

Résumé

pow()La fonction est utilisée pour calculer la puissance de nombres à virgule flottante et est un outil important pour gérer les opérations de puissance. Grâce à l'utilisation raisonnable depow(), les opérations de puissance peuvent être mises en œuvre dans le calcul scientifique, les applications d'ingénierie et l'analyse financière, tout en garantissant que les conditions d'erreur possibles sont correctement gérées.

Bibliothèque standard C - <math.h>

autres extensions