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 203 views
1 answer 148 views
1 answer 219 views
1 answer 137 views
1 answer 128 views
1 answer 178 views
1 answer 179 views
...