输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。数据范围:保证在 32 位整型数字范围内。
输入描述:输入一个整数(int类型)
输出描述:这个数转换成2进制后,输出1的个数。
输入:5
输出:2
输入:0
输出:0
#include <stdio.h>
int main(){
int n;
int k = 0;
scanf("%d",&n);
while(n){
n&=(n-1);
k++;
}
printf("%d",k);
return 0;
}