30. Count Set Bits in an Integer

Back To All Submissions
Previous Submission
Next Submission

Code

#include <stdio.h>

int countSetBits(unsigned int n) {
    int count = 0; 
    for(int i = 0; i < 32; i++){
        if((n >> i) & 1){
            count += 1;
        }
    }

    return count;
}

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

Solving Approach
 

By using Brian Kernighan's Algorithm. Subtracting and clearing until n becomes 0.

 

 

Was this helpful?
Upvote
Downvote