今天我来分享一个判断一个数是否是2的n次方巧妙方法:
代码如下:
#include<stdio.h>
int main()
{
int num;
scanf("%d", &num);
while (num)
{
if (((num) & (num - 1)) == 0)
printf("%d", num);
break;
}
system("pause");
return 0;
}
在这里面,我们使用了num&(num-1)的运算。
当我们演算下会发现一个规律。
在这里我么你就会发现对于一个数,n&(n-1)会一直等于0。
所以我们可以将这个方法来判断一个数是不是2的n次方。
更多推荐
C语言小编程之判断一个数是否是2的n次方的巧妙方法
发布评论