Count Set Bits in an Integer

Code

#include <stdio.h>

int countSetBits(unsigned int n) {
    // Write your code here
    int count = 0;
    // Check for number different than 0
    if(0 != n )
    {
        while (n) // Loop to check and count the 1s
        {
            count += (n & 1); // value AND 1
            n >>= 1; // Left shift one position
        }
    }

    return count;
}

int main() {
    int n;
    scanf("%d", &n);
    printf("%d", countSetBits(n));
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

5

Expected Output

2