#include <stdio.h> int countSetBits(unsigned int n) { int count = 0; // for(int i=0;i<32;i++){ // if(n & (1U << i)){ // count++; // } // } while(n){ count += (n & 1); n >>= 1; } return count; } int main() { int n; scanf("%d", &n); printf("%d", countSetBits(n)); return 0; }
count = 0
(n >> i) & 1
(n & (1U << i))
count
Test Cases
Test Results
Input
5
Expected Output
2