Related Articles

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

• Last Updated : 18 Jun, 2021

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 1000. Therefore,
number of zeroes at the end is 3.

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`

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up