How to count the number of zero bits in a number with C

1 Answer

0 votes
#include <stdio.h>

int countZeroBits(int num, int totalBits) {
    int count = 0;

    for (int i = 0; i < totalBits; i++) {
        if ((num & (1 << i)) == 0) {
            count++;
        }
    }

    return count;
}

int main() {
    int num = 453; // 0000 0001 1100 0101

    int zeroBits = countZeroBits(num, 16);
    
    printf("Number of zero bits: %d\n", zeroBits);

    return 0;
}



/*
run:
   
Number of zero bits: 11
            
*/

 



answered Oct 24, 2024 by avibootz
...