Count Set Bits in an Integer

Code

#include <stdio.h>

int countSetBits(unsigned int n) {
    // Write your code here
    unsigned int set_count =0;
    for(unsigned int i =0; i <32 ; i++){
        if((n >> (31-i)) & 1u){
            set_count++;
        }
    }
    return set_count;
}

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

Solving Approach

 

check for 1 in loop

 

Upvote
Downvote
Loading...

Input

5

Expected Output

2