判断一个整数是不是2的整数次方。
解:程序:
#include<stdio.h>
int count(int t)
{
int count=0;
while (t)
{
count++;
t=t&(t-1);
}
return count;
}
int main()
{
int num,ret=0;
printf("请输入一个整数:");
scanf("%d", &num);
ret = count(num);
if (ret == 1)
{
printf("是2的整数次方!\n");
}
else
{
printf("不是2的整数次方!\n");
}
return 0;
}
结果1:
请输入一个整数:8
是2的整数次方!
请按任意键继续. . .
结果2:
请输入一个整数:7
不是2的整数次方!
请按任意键继续. . .