题目描述
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数ide
解法1(C):code
#include<stdio.h> int main() { int n; int count = 0; scanf("%d", &n); while(n) { if(n % 2) count++; n /= 2; } printf("%d\n", count); return 0; }
解法2(C):内存
#include<stdio.h> int main() { int n; int count = 0; scanf("%d", &n); while(n) { count++; n &= n-1; } printf("%d\n", count); return 0; }