#include <stdio.h>
void print_bits(int n, int total_bits) {
for (int i = 1 << (total_bits - 1); i > 0; i = i / 2) {
(n & i) ? printf("1") : printf("0");
}
}
int count_leading_zeros(int num, int total_bits) {
int count = 0;
while (!(num & (1 << total_bits))) {
num = (num << 1);
count++;
}
return --count;
}
int main()
{
int number = 8;
print_bits(number, 16);
printf("\n%d\n", count_leading_zeros(number, 16));
return 0;
}
/*
run:
0000000000001000
12
*/