Count Set Bits in an Integer

Code

#include <stdio.h>

/*
 * Function to count the number of set bits in an integer.
 */
int countSetBits(unsigned int n) {
    int count = 0;

    while(n) {
        n &= (n - 1);
        count++;
    }

    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