Number of leading zeros in binary representation of a given number in C++



Given a number, we have to find the number of leading zeroes in the binary representation of it. Assuming total bits to be 32. Let's see an example.

Input

5

Output

25

The binary representation of 5 is 00000...00101. The number of leading zeroes are 29.

Algorithm

  • Initialise the number n.
  • Find the binary representation of n.
  • Subtract the length of binary representation of n from the total number of bits i.e.., 32.
  • Return the result.

Implementation

Following is the implementation of the above algorithm in C++

#include <bits/stdc++.h> using namespace std; int getLeadingZeroesCount(unsigned int n) {    int totalBits = sizeof(n) * 8;    string binary = "";    while (n) {       int remainder = n % 2;       if (remainder || binary.length() > 0) {          binary += remainder;       }       n /= 2;    }    return totalBits - binary.length(); } int main() {    int n = 101;    cout << getLeadingZeroesCount(n) << endl;    return 0; }

Output

If you run the above code, then you will get the following result.

25
Updated on: 2021-10-26T14:53:53+05:30

629 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements