題目描述
輸入一個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; }