剑指offer15 二进制中1的个数

题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如,把9表示成二进制是1001,有2位是1.因此,如果输入9则函数输出2.

int Number(int n)
{
    int count = 0;
    while (n)
    {
        count++;
        n = n & (n - 1);
    }
    return count;
}

 

posted @ 2018-09-14 15:03  cs_wu  阅读(173)  评论(0编辑  收藏  举报