Count Set Bits in an Integer

Code

#include <stdio.h>

int countSetBits(unsigned int n) {
    // Write your code here
    int count =0;
    int set=1;
    if(n==-1){
        return 32;
    }
    for(int i=0;i<n;i++){
        if(set&n){
            count =count +1;
        }
        set=set<<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