【C言語】数値が4の倍数かどうか判定する方法

この記事では、C言語を使って数値が4の倍数かどうかを判定する方法を紹介します。

目次から探す

数値が4の倍数かどうかを判定する方法

プログラミングにおいて、ある数値が4の倍数かどうかを判定する方法はいくつかあります。

ここでは、剰余演算子を使用する方法、ビット演算を使用する方法、論理演算を使用する方法の3つを紹介します。

方法1: 剰余演算子を使用する方法

剰余演算子(%)を使用することで、ある数値が4の倍数かどうかを判定することができます。

剰余演算子は、2つの数値の除算の余りを求める演算子です。

例えば、数値を4で割った余りが0であれば、その数値は4の倍数となります。

以下に、剰余演算子を使用して数値が4の倍数かどうかを判定するサンプルコードを示します。

#include <stdio.h>
int main() {
    int num;
    printf("数値を入力してください: ");
    scanf("%d", &num);
    if (num % 4 == 0) {
        printf("%dは4の倍数です。\n", num);
    } else {
        printf("%dは4の倍数ではありません。\n", num);
    }
    return 0;
}

上記のコードでは、ユーザーに数値を入力してもらい、その数値が4の倍数かどうかを判定しています。

剰余演算子を使用して、入力された数値を4で割った余りが0かどうかを判定し、結果を出力しています。

方法2: ビット演算を使用する方法

ビット演算を使用することで、ある数値が4の倍数かどうかを判定することもできます。

具体的には、ビット演算のAND演算子(&)を使用します。

4の倍数の場合、その数値の下位2ビットは必ず0になります。

したがって、数値の下位2ビットが0であるかどうかを判定することで、4の倍数かどうかを判定することができます。

以下に、ビット演算を使用して数値が4の倍数かどうかを判定するサンプルコードを示します。

#include <stdio.h>
int main() {
    int num;
    printf("数値を入力してください: ");
    scanf("%d", &num);
    if ((num & 3) == 0) {
        printf("%dは4の倍数です。\n", num);
    } else {
        printf("%dは4の倍数ではありません。\n", num);
    }
    return 0;
}

上記のコードでは、ユーザーに数値を入力してもらい、その数値が4の倍数かどうかを判定しています。

ビット演算のAND演算子を使用して、入力された数値の下位2ビットが0かどうかを判定し、結果を出力しています。

方法3: 論理演算を使用する方法

論理演算を使用することでも、ある数値が4の倍数かどうかを判定することができます。

具体的には、論理演算の論理積(&&)を使用します。

4の倍数の場合、その数値は必ず2の倍数でもあります。

したがって、数値が2の倍数かつ4の倍数であるかどうかを判定することで、4の倍数かどうかを判定することができます。

以下に、論理演算を使用して数値が4の倍数かどうかを判定するサンプルコードを示します。

#include <stdio.h>
int main() {
    int num;
    printf("数値を入力してください: ");
    scanf("%d", &num);
    if (num % 2 == 0 && num % 4 == 0) {
        printf("%dは4の倍数です。\n", num);
    } else {
        printf("%dは4の倍数ではありません。\n", num);
    }
    return 0;
}

上記のコードでは、ユーザーに数値を入力してもらい、その数値が4の倍数かどうかを判定しています。

論理演算の論理積を使用して、入力された数値が2の倍数かつ4の倍数であるかどうかを判定し、結果を出力しています。

以上が、数値が4の倍数かどうかを判定する方法の3つの方法です。

目次から探す