代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
int x,y,i=0;
printf("please input a number >>");
scanf("%d",&x);
if((x!=0)&&(x&(x-1))==0)//判断是否是2的若干次幂
{
y=x;
while(x>1)
{
x/=2;
i++;
}//判断是几次幂
printf("log2(%d)=%d\n",y,i);
}
else
{
printf("%d不是2的次幂数\n",x);
}
return 0;
}
简单版本:
/*===============================================
* 文件名称:power1.c
* 创 建 者:
* 创建日期:2022年08月31日
* 描 述:
================================================*/
#include <stdio.h>
int main(int argc, char *argv[])
{
int x;
scanf("%d",&x);
printf("%s\n",(x&(x-1)?"not":"yes"));
return 0;
}