判断是否为2的次幂

简介: 判断是否为2的次幂
int a = 3;
int num = a & (a - 1);
if (a>0 && num == 0) {
    // 2的次幂
}else{
    //
}
复制代码
十进制 二进制
0 0
2 10
4 100
8 1000

只要是2的次幂,就肯定只有一位是1,减1之后,相当于取反了

这2个数与操作之后肯定为0



目录
相关文章
|
7月前
|
Python
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
389 1
|
6月前
数组\判断是否能被已知且小于x的素数整除
数组\判断是否能被已知且小于x的素数整除
29 0
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
108 0
判断是否是质数
判断是否是质数
73 0
|
Python
判断一个数能否同时被4和5整除
判断一个数能否同时被4和5整除
94 0
|
算法
判断一个数是否能被3或5整除
判断一个数是否能被3或5整除
168 0
面试官:判断一个数是否为2的整数次幂
面试官:判断一个数是否为2的整数次幂
09:判断能否被3,5,7整除
09:判断能否被3,5,7整除
390 0
08:判断一个数能否同时被3和5整除
08:判断一个数能否同时被3和5整除
167 0