方法1: python

a = int(input())

count = 0
int_num = a
flag = 0x0001
while int_num:
    b = a &flag
    if b > 0:
        count+=1
    flag = flag <<1
    int_num= int_num >>1
print(count)

int_num 是判断输入数有多少位。
flag 是用来判断有多少个1。

方法2: C

#include<stdio.h>

int main(void)
{
    int a ,b,c,count;
    int flag = 0x01;
    scanf("%d",&a);
    c = a ;
    b = a ;
    while (c=c>>1)
    {
        if (b &flag)
        {
            count++;    
        }
        flag = flag << 1;
    }    
    printf("%d",count);
}