ホームページ > バックエンド開発 > C++ > C コードの「^」演算子がべき乗を正しく計算しないのはなぜですか?

C コードの「^」演算子がべき乗を正しく計算しないのはなぜですか?

Patricia Arquette
リリース: 2024-12-20 11:18:15
オリジナル
364 人が閲覧しました

Why Isn't My C Code's

電力演算子が期待どおりに動作しないのはなぜですか?

提供された C コードで、「^」を使用しようとしています。電源操作を実行するオペレーター。ただし、「^」は C/C のべき乗演算子として機能しないため、出力は正しくありません。代わりに、ビット単位の XOR 演算子として定義されています。

このコードは、1 から 4 までの入力された数値「a」のべき乗の合計を計算することを目的としています。これを正しく達成するには、pow()関数を使用する必要があります。これには、引数の 1 つを double にキャストする必要があります。変更されたコードは次のようになります。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#include <stdio.h>

 

void main(void)

{

    int a;

    double 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);

}

ログイン後にコピー

さらに、C99 以降、powf() 関数と powl() 関数が、それぞれ float および long double 引数をサポートするために導入されたことにも注意してください。

以上がC コードの「^」演算子がべき乗を正しく計算しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート