统计x的二进制表示中1和0的个数

  • 1的个数
int binary1num(int x)
{
    int num = 0;

    while(x)
    {
        x = x & (x-1);
        num++;
    }

    return num;
}
  • 0的个数
int binary0num(int x)
{
    int num = 0;

    while(x+1)
    {
        x = x | (x+1);
        num++;
    }

    return num;
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 求二进制数中1的个数 - 博客园 普通法 n & 1 得到 n 的最后一个数字,然后移位判断每一位数字。 比如 n...
    谢小帅阅读 1,656评论 1 1
  • 2018-2-18 新年里,走亲访友,吃喝玩乐,感谢家乡所有亲人的热情招待。 亲爱的儿子,妈妈今天带着你一起拜访长...
    美丽心情_a8bf阅读 190评论 0 4
  • “第四次忍界大战,可以说是关乎人类存亡的一场决定性战争,大筒木辉夜更是人类有史以来最厉害的对手。当时日本最强也...
    存在感薄弱阅读 287评论 0 0
  • 网络中四 2月7日 持续分享第209天 流年深深, 岁月浅浅。 有多少心绪隐匿在岁月的阴影之中; 又有多少执念掩埋...
    xfsunshine阅读 371评论 0 2
  • 修改外观 1.阴影 2.边框 3.圆角 4.用layer操作UIImageView,修改外观 1.CALayer简...
    Tomboy_Anan阅读 191评论 0 0