#include <stdio.h> #include <stdint.h> uint8_t count_set_bits(uint8_t reg) { uint8_t count=0; for(uint8_t i=0;i<8;i++) { if(reg&(1<<i)) { count++; } } return count; } int main() { uint8_t reg; scanf("%hhu", ®); printf("%u", count_set_bits(reg)); return 0; }
loop through the 8-bit, and check if its 1 using and operator
Test Cases
Test Results
Input
0
Expected Output