您的位置:首页 > 编程语言 > C语言/C++

C语言小编程之判断一个数是否是2的n次方的巧妙方法

2016-03-17 22:30 288 查看
今天我来分享一个判断一个数是否是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次方。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: