Count number of zero bits in unsigned integer
#include <stdio.h>
unsigned int count_zero_bits(unsigned int num) { unsigned int count = 0; unsigned int total_bits = sizeof(num) * 8;
for (unsigned int i = 0; i < total_bits; i++) {
if ((num & (1U << i)) == 0) {
count++;
}
}
return count;
}
int main() { unsigned int num; printf("Enter an unsigned integer: "); scanf("%u", &num); printf("Number of zero bits in %u: %u\n", num, count_zero_bits(num)); return 0; }