#include <stdio.h>
int countSetBits(unsigned int n) {
// Write your code here
int count = 0;
for (int i = 0; i < 32; i++){
if ((n >> i) & 0x1){
count+= 1;
}
}
return count;
}
int main() {
int n;
scanf("%d", &n);
printf("%d", countSetBits(n));
return 0;
}
-> Shift each bit to LSB
-> AND them with 0x1
-> increment the counter when the result is 1
Input
5
Expected Output
2