用一条语句判断一个整数是不是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; }