#include <stdio.h> int countSetBits(unsigned int n) { const int NB_BITS = sizeof(int) * 8; int cnt = 0; for (int i = 0; i < NB_BITS; i++) { cnt += (n & 1); n >>= 1; } return cnt; } int main() { int n; scanf("%d", &n); printf("%d", countSetBits(n)); return 0; }
a variant using sizeof()
sizeof()
Test Cases
Test Results
Input
5
Expected Output
2