Posts Tagged ‘2’

判断一个整数是不是2的乘方

Posted in 好玩的题目 on 四月 10th, 2010 by 亚楠兄 – Be the first to comment

如何判断一个整数是不是2的乘方?很简单

return n==0 ? false: (n&(n-1)==0)

对于2的乘方,二进制必然是 1000000000…的形式,n-1则为 0111111111….的形式
所以n与上n-1 就为0了

现在要证明,有且只有2的乘方符合 n&(n-1)==0

read more »


无觅相关文章插件,快速提升流量