`
talentluke
  • 浏览: 593268 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

n&(n-1)作用

 
阅读更多

问:解释下(n&(n-1))==0的意义?
答:A&B==0说明1所在的bit位置都是不相同的.
n和n-1的关系就是n的右起第一个1(假设是第i位)变成0,同时之后所有位都变成1.
这样n的低i位和n-1的低i位&肯定得到0
但是要保证总体&是0,那么高位(i位左边的所有位)就必须都是0.
因为如果有一个1,那么n和n-1的那一位都是1,&结果就不能保证是0了.
所以得到结论就是n只有一位是1(书中解答的是2的幂次)或者n=0.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics