📜  C程序,查找“否”是否为2的幂(1)

📅  最后修改于: 2023-12-03 15:00:13.510000             🧑  作者: Mango

C程序,查找“否”是否为2的幂

以下是一个C程序,用于检查一个整数是否是2的幂。

#include <stdio.h>

int isPowerOfTwo(int number)
{
    if (number == 0) {
        return 0; // 0不是2的幂
    }

    while (number != 1) {
        if (number % 2 != 0) {
            return 0; // 如果数字不是偶数,说明不是2的幂
        }
        number /= 2; // 不断除以2,直到数字为1
    }

    return 1; // 数字是2的幂
}

int main()
{
    int number;

    printf("请输入一个整数:");
    scanf("%d", &number);

    if (isPowerOfTwo(number)) {
        printf("%d 是2的幂", number);
    } else {
        printf("%d 不是2的幂", number);
    }

    return 0;
}

这个程序通过循环和除法操作来判断一个整数是否是2的幂。首先,如果数字是0,则不是2的幂;然后,如果数字不是偶数,则也不是2的幂;最后,通过多次除以2,直到数字变为1,确认数字是2的幂。

程序运行时会要求输入一个整数,然后判断该整数是否是2的幂,并输出相应的结果。

请确保你的编译环境中包含了标准C库(stdio.h)。

希望这个程序对你有帮助!