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
1115 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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal