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

发布了115 篇原创文章 · 获赞 22 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_42956047/article/details/105236211