leetcode[231]:Power of Two

Power of Two

Given an integer, write a function to determine if it is a power of two.

是2的整数次幂问题,很容易想到位操作。

看到了Discuss中某大神的做法,十分膜拜:
https://leetcode.com/discuss/44155/1-line-python-solution
转换成C语言如下:

bool isPowerOfTwo(int n) {
  return (n>0) && (n & (n-1))==0;  
}

前提: n>=0;

2的整数次幂换成二进制必然是1+x个0,n-1必然是x个1,n & n-1 必然全是0,实在是妙!!

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hahubaba/article/details/46793663
文章标签: bit
个人分类: leetcode
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭