34. Count Set Bits in an 8-bit Register

Back To All Submissions
Previous Submission
Next Submission

Code

#include <stdio.h>
#include <stdint.h>

uint8_t count_set_bits(uint8_t reg) {
    // Your code here
    int count=0;
    if(reg==0x0)
    {
        return 0;
    }
    else if(reg==0xFF)
    {
        return 8;
    }
    else
    {
        for(int i=0;i<8;i++)
        {
            if((reg>>i)&0x1 == 1)
            {
                count++;
            }
        }
        return count;
    }
}

int main() {
    uint8_t reg;
    scanf("%hhu", &reg);
    printf("%u", count_set_bits(reg));
    return 0;
}

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote