Count Set Bits in an Integer

Code

#include <stdio.h>

int countSetBits(unsigned int n) {
    // Write your code here
    int size= sizeof(n);
    int count=0;
    int mask =1U;
    for(int i=0;i<(size*8);i++)
    {
        if((mask&n) != 0 )
        {
            count++;
        }
        mask<<=1;
    }
    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