2的幂

mac2022-06-30  128

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

输入: 1 输出: true 解释: 20 = 1

 

可以用位运算,2的幂次n必定只有一个1,和n-1进行与运算后必然为0。

class Solution { public: /* bool isPowerOfTwo(int n) { if(n <= 0) return false; int mod = n; int div = n; while(div>=2){ mod = div%2; div = div/2; if(mod){ return false; } } return true; }*/ bool isPowerOfTwo(int n){ if(n<=0) return false; return !(n&(n-1)); } };

 

 

转载于:https://www.cnblogs.com/Shinered/p/11419733.html

最新回复(0)