How to count the leading zeros in a binary number using C++

1 Answer

0 votes
#include <iostream>

#define INT_SIZE sizeof(int) * 8 
 
int main() {
    int number = 41337; // 1010000101111001 - 16 bit
    int zeros = 0;
    
    int msb = 1 << (INT_SIZE - 1); // 32bit 10000000000...
 
    for (int i = 0; i < INT_SIZE; i++) {
        if ((number << i) & msb) {
            break;
        }
        zeros++;
    }
 
    std::cout << zeros;
}
 
 
 
/*
run:
 
16
 
*/

 



answered Apr 1, 2019 by avibootz
edited Mar 31, 2024 by avibootz

Related questions

2 answers 222 views
1 answer 160 views
1 answer 227 views
1 answer 152 views
1 answer 140 views
1 answer 192 views
1 answer 190 views
...