x&(x-1)可以用来求出x是否为2幂次方数;当&的结果为0时,x原值是2幂次方数,否则就不是2幂次方数;

x=x&(x-1)即把x从低位开始的第一个1改成0.如1000,把1变成0,就是0000.1011,把1变成0,为1010.
如果x是2的幂次方,则x中只有高位一个1,此时x-1就是低位全是1,最高位为0,所以为0;

随机推荐

  1. Bootstrap简单HelloWorld入门教程

    这篇教程旨在让你在20分钟内学会使用twitter bootstrap创建一个站点.看完这个教程后你应该能够使用bootstrap来建立一个基本的响应式布局的页面,了解栅格系统,并且能够使用boots ...

  2. Unable to instantiate Action, MenuAction, defined for 'QueryMenuAll' in namespace '/'MenuAction

    我刚好也遇到这样的情况,发现是自己的配置文件里写错了,spring里的id属性值要对应struts里class属性值.

  3. [GitHub]第五讲:团队合作流程

    文章转载自:http://blog.csdn.net/loadsong/article/details/51591631 前几天还都是一个开发者唱独角戏.但是尽管如此也可以看出 Git 带来的便利了, ...

  4. Java进阶(一)Java内存解析

    栈.堆.常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同.本文将深入Java核心,简单讲解Java内存分配方面的知识. 首先我们先来讲解一下内存中的各个区域. stack(栈) ...

  5. 1022. Digital Library (30) -map -字符串处理

    题目如下: A Digital Library contains millions of books, stored according to their titles, authors, key w ...

  6. Linux常用的网络命令

    这些命令都是我在浏览网页的时候偶然看到的,但是不太完整,所以我就整理了一下,详见如下. 1.查看网络接口状态 ifconfig(interface configuration,接口配置),通常会加上- ...

  7. 多层界面之间显示与隐藏tabBar

    IOS中多层界面之间显示与隐藏tabBar? 在做项目的时候,遇到了一个难题,使用hidesBottomWhenPushed=YES属性设置,可以让本级界面及其以后界面都隐藏,但是根据项目 需求,在第 ...

  8. log4j.xml示例

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SY ...

  9. Ionic APP-Web SPA开发进阶(二)Ionic进阶之路由去哪了

    Ionic进阶之路由去哪了 项目需求 在查看药品时,从药品列表中可以通过点击药品列表获取某一药品详情.提交订单时,同样可以查看药品详情.两种情形下,从药品详情返回后,应分别返回至原来的页面.如下图所示 ...

  10. Mahout 算法

    Mahout 包括协同过滤,基于User和Item的推荐:kmeans.Fuzzy-kmeans .Mean shift .Dirichlet process .LDA聚类:奇异值分解:并行频繁项集挖 ...