JSMS21-输入十进制输出二进制1的个数

54 阅读1分钟

这道题其实挺简单的就是输入相应的十进制数,然后输出二进制中1的个数。

#include <stdio.h>

int NumberOf(int n)
{
    int count=0;
    int flag=1;
    while(flag)
    {
        if(n&flag)
        {
            count++;
        }
        flag=flag<<1;       //这里是位运算
    }
    return count;
}


int main()
{
    int n=1024;
    int ret=NumberOf(n);
    printf("%d\n",ret);      //返回1
}