编程之美——判断一个数是否为2的幂

  • 就是二进制数中只有1位为1,就是2的幂。n & (n - 1)可以把二进制数中最后一位1置0.
#include <iostream>

using namespace std;

int main() {
    int n;
    cin >> n;
    bool flag = false;
    if (n > 0 && n & (n - 1) == 0) flag = true;
    
    return 0;
}
posted @ 2017-10-13 21:13  清水汪汪  阅读(255)  评论(0编辑  收藏  举报