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

• Last Updated : 09 Jun, 2022

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 : 4
Binary representation of N is 10000. Therefore,
number of zeroes at the end is 4.

Input : N = 8
Output : 3```

Approach: We simply set the number in the bitset and then we iterate from 0 indexes 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`

## C#

 `// C# program to count number of trailing zeros``// in Binary representation of a number``// using Bitset``using` `System;``class` `GFG``{` `  ``// Function to count number of trailing zeros in``  ``// Binary representation of a number``  ``// using Bitset``  ``static` `int` `CountTrailingZeros(``int` `n)``  ``{``    ``string` `bit=Convert.ToString(n, 2);``    ``char``[] charArray = bit.ToCharArray();``    ``Array.Reverse( charArray );``    ``string` `bit1 = ``new` `string``( charArray );``    ``int` `zero = 0;``    ``for` `(``int` `i = 0; i < 64; i++)``    ``{``      ``if` `(bit1[i] == ``'0'``)``      ``{``        ``zero++;``      ``}` `      ``// if '1' comes then break``      ``else``      ``{``        ``break``;``      ``}``    ``}``    ``return` `zero;``  ``}` `  ``// Driver Code``  ``static` `public` `void` `Main ()``  ``{``    ``int` `n = 4;``    ``int` `ans = CountTrailingZeros(n);``    ``Console.WriteLine(ans);``  ``}``}` `// This code is contributed by avanitrachhadiya2155`

## Javascript

 ``

Output:

`2`

Time Complexity: O(1)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up