Java判断一个数是否是2的n次幂

二进制中n一旦是2的幂次方(只出现一个1),必为10,100,1000,10000,100000,…形式;
并且n-1为01,011,0111,0111,01111形式。
方法:n,n-1两个数按位与&等于零,则为2的幂次方

class Solution {
	public boolean isPowerOfTwo(int n) {
		return n > 0 && (n & (n - 1)) == 0;
	}
}

参考:
https://blog.csdn.net/imiMi_/article/details/83506497?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

你可能感兴趣的:(数据结构与算法,判断一个整数是否是2的幂次)