一条语句判断一个整数是否为2的幂

问题: 输入一个整数,判断这个数是不是2的次方。
思路: 判断该整数的二进制是否只有一个1,判断 (n-1)&n 是否等于0即可。如果不能理解请参考我的上一篇文章二进制中1的个数

代码实现:

#include<iostream>
using namespace std;

int main()
{
    int n;
    cin>>n;
    if((n&(n-1))==0)
        cout<<"true";
    else
        cout<<"false";
    return 0;
}
发布了15 篇原创文章 · 获赞 6 · 访问量 38

猜你喜欢

转载自blog.csdn.net/weixin_46165788/article/details/105516372