用一条语句判断一个整数是不是2的整数次方
按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
if ((n & (n - 1)) == 0)
{
cout << "Yes" << endl;
}cout << "No" << endl;
system("pause");
return 0;
} 

京公网安备 11010502036488号