判断一个数是不是2的幂次方的程序c语言
时间: 2024-09-22 13:06:23 浏览: 47
如何判断一个数是否为4的幂次方?若是,并判断出来是多少次方?
判断一个数是否是2的幂次方,你可以通过检查该数能否被2整除,并且每次除以2后的结果也是2的幂次方来确定。以下是用C语言实现的一个简单函数:
```c
#include <stdio.h>
// 函数用来检查一个数n是否是2的幂
int isPowerOfTwo(int n) {
if (n <= 0) {
return 0; // 非正数不是2的幂次方
}
while (n % 2 == 0) { // 持续除以2直到n不再能被2整除
n /= 2;
}
return n == 1; // 如果最后n等于1,则原数是2的幂,返回1;否则返回0
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (isPowerOfTwo(num)) {
printf("%d是2的幂次方\n", num);
} else {
printf("%d不是2的幂次方\n", num);
}
return 0;
}
阅读全文