【C言語】2のn乗を計算する方法を3つ紹介【ビットシフト / pow関数 / for文】

この記事では、初心者向けに2のn乗を計算する方法を紹介します。

ループを使用した方法、シフト演算を使用した方法、そしてpow関数を使用した方法について説明します。

それぞれの方法の使い方を学ぶことで、簡単に2のn乗を計算することができます。

目次から探す

2のn乗を計算する方法

2のn乗を計算する方法には、いくつかの方法があります。

ここでは、ループを使用した方法、シフト演算を使用した方法、そしてpow関数を使用した方法について説明します。

方法1: ループを使用した方法

まず最初に紹介するのは、ループを使用して2のn乗を計算する方法です。

この方法では、n回のループを行い、2をn回かけることで2のn乗を求めます。


#include <stdio.h>
int main() {
    int n;
    printf("nの値を入力してください: ");
    scanf("%d", &n);
    int result = 1;
    for (int i = 0; i < n; i++) {
        result *= 2;
    }
    printf("2の%d乗は%dです。\n", n, result);
    return 0;
}

上記のコードでは、まず変数nにユーザーからの入力を受け取ります。

その後、resultという変数を1で初期化し、n回のループを行いながらresultに2をかけていきます。

最後に、計算結果を出力します。

以下は、nの値が3の場合の実行結果の例です。

nの値を入力してください: 3
2の3乗は8です。

方法2: シフト演算を使用した方法

次に紹介するのは、シフト演算を使用して2のn乗を計算する方法です。

シフト演算は、ビットを指定した数だけ左右にずらす演算です。

2のn乗を計算する場合、2をn回左にシフトすることで計算できます。


#include <stdio.h>
int main() {
    int n;
    printf("nの値を入力してください: ");
    scanf("%d", &n);
    int result = 1 << n;
    printf("2の%d乗は%dです。\n", n, result);
    return 0;
}

上記のコードでは、まず変数nにユーザーからの入力を受け取ります。

その後、resultという変数に1をn回左にシフトした値を代入します。

最後に、計算結果を出力します。

以下は、nの値が3の場合の実行結果の例です。

nの値を入力してください: 3
2の3乗は8です。

方法3: pow関数を使用した方法

最後に紹介するのは、pow関数を使用して2のn乗を計算する方法です。

pow関数は、指定した数のべき乗を計算するための関数です。


#include <stdio.h>
#include <math.h>
int main() {
    int n;
    printf("nの値を入力してください: ");
    scanf("%d", &n);
    double result = pow(2, n);
    printf("2の%d乗は%.0fです。\n", n, result);
    return 0;
}

上記のコードでは、まず変数nにユーザーからの入力を受け取ります。

その後、resultという変数にpow関数を使用して2のn乗を計算した値を代入します。

最後に、計算結果を出力します。

以下は、nの値が3の場合の実行結果の例です。

nの値を入力してください: 3
2の3乗は8です。

以上が、2のn乗を計算する方法の説明です。

それぞれの方法を使って、2のn乗を計算することができますので、用途に応じて適切な方法を選択してください。

目次から探す