30. Count Set Bits in an Integer

Back To All Submissions
Previous Submission
Next Submission

Solving Approach

#include <stdio.h>

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

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

Solving Approach

-> Shift each bit to LSB
-> AND them with 0x1
-> increment the counter when the result is 1

Was this helpful?
Upvote
Downvote