关于x=x&(x-1)需要多少次迭代x=0

题目如图:


774280660616401147.png
  • 要点:
    1. 如果 x=2^n,那么x&(x-1)=0
    2. 如果 x=奇数, 那么x&(x-1)=x-1;
    3. 如果 x=偶数,那么每一次减少2^n
      • 其中n的规律主要体现在16 以下的数。
比如:x=15;那么计算x=x&(x-1);
x的变化是:(箭头标示一次计算)
x=15  --->   x=14 --->   x=12 --->   x=8  -->   x=0
  • 对于超过16的数,我们可以将其分解2^n+2^(n-1)+...
如果x=29
x=2^4+13
x=29-(要点2)-->2^4+(13-1)--->2^4+8-(要点1)-->2^4+0--(要点1)-->0
  • 对于图中的题目就与上面所举的方法类似
9999=8192+1024+512+256+15
countx=8;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【0427今日话题】 你经历过的最尴尬的时刻是什么?你是如何逃脱尴尬的? 印象中的尴尬基本来源于叫错人。真的不是故...
    单双眼星人阅读 1,430评论 0 0
  • 今晚加班,回到家看到孩子已经躺下了,问了他爸才知道,原来儿子怕我修理他就装睡了。 中午看到托...
    李玺辰妈妈阅读 2,463评论 1 3
  • 有幸受邀为南湖区法律援助案件质量作评估,与其说是质量检查倒不如说是得到学习,想不到区里的援助案件卷宗装订规范...
    b9b086ba4270阅读 2,206评论 1 0