确定整数中有多少个“1”

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30103483/article/details/78274162

在看博客的时候看到有的博客有写这个计算“1”的算法,以前好像有写过类似的算法,所以现在把它记下来,给自己留个印象。

int Cnt_one(int a)
{
    int bit, cnt;

    while(a)
    {

        bit = a % 2;      // 相当于取得整数的低位,以2取余就是取二进制的低位

        if( bit == 1 )    // 是“1”就可以计数了
            cnt++;

        a = a / 2;        // 除“2”即时整数向右移动一位
    }

    return cnt;
}

猜你喜欢

转载自blog.csdn.net/qq_30103483/article/details/78274162
今日推荐