如何利用一条简单语句判断一个整数是否为2的整数次幂
Posted lijianming180
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用一条简单语句判断一个整数是否为2的整数次幂相关的知识,希望对你有一定的参考价值。
在写代码的过程中可能会遇到判断一个整数是否为2的整数次幂的问题,除了枚举的方法,还可以利用二进制的知识进行简单快速判断。
2的整数次幂用二进制表示只存在一个1和n个0,因此,我们利用位运算&判断一个整数a与a-1的&是否为0即可。具体代码如下。
代码非常简洁。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 大专栏 如何利用一条简单语句判断一个整数是否为2的整数次幂5 16 17
| #include<bits/stdc++.h> using namespace std; typedef long long LL; bool judge(LL x) { if((x&(x-1))==0) return true; return false; } int main() { LL a; cin>>a; if(judge(a)) cout<<"yes"<<endl; else cout<<"no"<<endl; }
|
以上是关于如何利用一条简单语句判断一个整数是否为2的整数次幂的主要内容,如果未能解决你的问题,请参考以下文章
如何判断一个正整数是不是2的整数次幂
判断一个正整数是否是2的整数次幂
2的整数次幂 面试算法
2的整数次幂
判断一个数是不是是 4 的整数次幂
231. Power of Two 342. Power of Four -- 判断是否为24的整数次幂