方法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); }