# Count number of trailing zeros in Binary representation of a number using Bitset

Given a number. The task is to count the number of Trailing Zero in Binary representation of a number using bitset.

Examples:

```Input : N = 16
Output : 3
Binary representation of N is 1000. Therefore,
number of zeroes at the end is 3.

Input : N = 8
Output : 2
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: We simply set the number in the bitset and then we iterate from 0 index of bitset, as soon as we get 1 we will break the loop because there is no trailing zero after that.

Below is the implementation of above approach:

## C++

 `// C++ program to count number of trailing zeros ` `// in Binary representation of a number ` `// using Bitset ` ` `  `#include ` `using` `namespace` `std; ` ` `  `// Function to count number of trailing zeros in ` `// Binary representation of a number ` `// using Bitset ` `int` `CountTrailingZeros(``int` `n) ` `{ ` `    ``// declare bitset of 64 bits ` `    ``bitset<64> bit; ` ` `  `    ``// set bitset with the value ` `    ``bit |= n; ` ` `  `    ``int` `zero = 0; ` ` `  `    ``for` `(``int` `i = 0; i < 64; i++) { ` `        ``if` `(bit[i] == 0) ` `            ``zero++; ` `        ``// if '1' comes then break ` `        ``else` `            ``break``; ` `    ``} ` ` `  `    ``return` `zero; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `n = 4; ` ` `  `    ``int` `ans = CountTrailingZeros(n); ` ` `  `    ``cout << ans << ``"\n"``; ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java program to count number of trailing zeros ` `// in Binary representation of a number ` `// using Bitset ` `import` `java.util.*; ` `import` `java.lang.*;  ` `import` `java.io.*; ` ` `  `class` `GFG ` `{ ` `      `  `    ``// Function to count number of trailing zeros in ` `    ``// Binary representation of a number ` `    ``// using Bitset ` `    ``static` `int` `CountTrailingZeros(``int` `n) ` `    ``{ ` `         `  `        ``String bit = Integer.toBinaryString(n); ` `        ``StringBuilder bit1 = ``new` `StringBuilder();  ` `        ``bit1.append(bit); ` `        ``bit1=bit1.reverse(); ` `        ``int` `zero = ``0``; ` `      `  `        ``for` `(``int` `i = ``0``; i < ``64``; i++) { ` `            ``if` `(bit1.charAt(i) == ``'0'``) ` `                ``zero++; ` `            ``// if '1' comes then break ` `            ``else` `                ``break``; ` `        ``} ` `      `  `        ``return` `zero; ` `    ``} ` `      `  `    ``// Driver Code ` `    ``public` `static` `void` `main(String []args) ` `    ``{ ` `        ``int` `n = ``4``; ` `      `  `        ``int` `ans = CountTrailingZeros(n); ` `      `  `        ``System.out.println(ans); ` `    ``} ` `} ` ` `  `// This code is contributed by chitranayal `

## Python3

 `# Python3 program to count  ` `# number of trailing zeros in  ` `# Binary representation of a number ` ` `  `# Function to count number of  ` `# trailing zeros in Binary ` `# representation of a number ` `def` `CountTrailingZeros(n): ` `     `  `    ``# declare bitset of 64 bits ` `    ``bit ``=` `bin``(n)[``2``:] ` `    ``bit ``=` `bit[::``-``1``] ` ` `  `    ``zero ``=` `0``; ` ` `  `    ``for` `i ``in` `range``(``len``(bit)): ` `        ``if` `(bit[i] ``=``=` `'0'``): ` `            ``zero ``+``=` `1` `             `  `        ``# if '1' comes then break ` `        ``else``: ` `            ``break` ` `  `    ``return` `zero ` ` `  `# Driver Code ` `n ``=` `4` ` `  `ans ``=` `CountTrailingZeros(n) ` ` `  `print``(ans) ` ` `  `# This code is contributed  ` `# by Mohit Kumar `

Output:

```2
```

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.