Maison > développement back-end > C++ > Pourquoi l'opérateur « ^ » de mon code C ne calcule-t-il pas les pouvoirs ?

Pourquoi l'opérateur « ^ » de mon code C ne calcule-t-il pas les pouvoirs ?

Susan Sarandon
Libérer: 2024-12-24 22:00:24
original
994 Les gens l'ont consulté

Why Isn't My C Code's `^` Operator Calculating Powers?

Pourquoi mon opérateur électrique (^) ne fonctionne-t-il pas ?

Dans le code C fourni, l'opérateur ^ ne fonctionne pas comme un opérateur électrique car en C/C , ^ représente l'opération XOR au niveau du bit, pas l'exponentiation.

Le but du code donné est de calculer la somme des puissances de le nombre a élevé à chacune des valeurs de 1 à 4. Cependant, l'utilisation de l'opérateur ^ n'effectuera que des opérations XOR au niveau du bit, pas une exponentiation.

Pour effectuer une exponentiation, vous devez utiliser la fonction pow() du bibliothèque math.h. La syntaxe de pow() est :

double pow(double base, double exponent);
Copier après la connexion

Voici une version corrigée du code utilisant pow() :

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

void main(void)
{
    int a;
    int result;
    int sum = 0;
    printf("Enter a number: ");
    scanf("%d", &a);
    for( int i = 1; i <= 4; i++ )
    {
        result = (int) pow((double) a, i);

        sum += result;
    }
    printf("%d\n", sum);
}
Copier après la connexion

Dans ce code révisé :

  • La fonction pow() est utilisée pour calculer la puissance de a élevé à i.
  • Le résultat est converti en int car pow() renvoie un double.
  • La conversion de l'un des arguments en double permet d'éviter d'éventuels problèmes de dépassement d'entier.

Avec ces changements, le code calculera et imprimera correctement la somme des puissances de a élevées à chacune des valeurs de 1 à 4.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal