判断一个数是否是2的次幂

输入一个数,判断这个数是否为2的次幂。
思路:
利用n&(n-1)可以将最右边的1变为0,当n&(n-1)==0时,说明该数字的二进制表示中只有一个1,所以该数字为2的次幂。

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
	int n, count = 0;
	cin>>n;
	if((n>0) && (!(n&(n-1))) == true)
		cout<<"这个数是2的幂"<<endl;
	else
		cout<<"这个数不是2的幂"<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/ywh15387127537/article/details/84845295