# Length of longest consecutive zeroes in the binary representation of a number.

We have a number N. Determine the length of longest consecutive 0’s in its binary representation.

Examples:

```Input  : N = 14
Output : 1
Binary representation of 14 is
1110. There is only one 0 in
the binary representation.

Input : N = 9
Output : 2
```

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

A simple approach is to traverse through all bits and keep track of maximum number of consecutive 0s.

## C++

 `// C++ code to determine Length of  ` `// longest consecutive zeroes in the ` `// binary representation of a number.  ` `#include ` `using` `namespace` `std; ` ` `  `int` `maxZeros(``int` `N) ` `{ ` `    ``// variable to store the length of ` `    ``// longest consecutive 0's ` `    ``int` `maxm = -1; ` ` `  `    ``// to temporary store the consecutive 0's ` `    ``int` `cnt = 0; ` ` `  `    ``while` `(N) { ` `        ``if` `(!(N & 1)) { ` `            ``cnt++; ` `            ``N >>= 1; ` `            ``maxm = max(maxm, cnt); ` `        ``} ` `        ``else` `{ ` ` `  `            ``maxm = max(maxm, cnt); ` `            ``cnt = 0; ` `            ``N >>= 1; ` `        ``} ` `    ``} ` `    ``return` `maxm; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `N = 14; ` `    ``cout << maxZeros(N) << endl; ` `    ``return` `0; ` `} `

## Java

 `// Java code to determine Length of   ` `// longest consecutive zeroes in the  ` `// binary representation of a number.  ` ` `  `public` `class` `GFG { ` `     `  `    ``static` `int` `maxZeros(``int` `N)  ` `    ``{  ` `        ``// variable to store the length of  ` `        ``// longest consecutive 0's  ` `        ``int` `maxm = -``1``;  ` `       `  `        ``// to temporary store the consecutive 0's  ` `        ``int` `cnt = ``0``;  ` `       `  `        ``while` `(N != ``0``) {  ` `            ``if` `((N & ``1``) == ``0` `) {  ` `                ``cnt++;  ` `                ``N >>= ``1``;  ` `                ``maxm = Math.max(maxm, cnt);  ` `            ``}  ` `            ``else` `{  ` `       `  `                ``maxm = Math.max(maxm, cnt);  ` `                ``cnt = ``0``;  ` `                ``N >>= ``1``;  ` `            ``}  ` `        ``}  ` `        ``return` `maxm;  ` `    ``}  ` `       `  `    ``// Driver code ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `         ``int` `N = ``14``;  ` `         ``System.out.println(maxZeros(N));  ` `     `  `    ``} ` `    ``// This Code is contributed by ANKITRAI1 ` `} `

## Python3

 `# Python3 code to determine Length of  ` `# longest consecutive zeroes in the ` `# binary representation of a number.  ` `def` `maxZeros(N): ` ` `  `    ``# variable to store the length  ` `    ``# of longest consecutive 0's ` `    ``maxm ``=` `-``1` ` `  `    ``# to temporary store the  ` `    ``# consecutive 0's ` `    ``cnt ``=` `0` `    ``while``(N): ` `        ``if``(``not``(N & ``1``)): ` `            ``cnt ``+``=` `1` `            ``N >>``=` `1` `            ``maxm ``=` `max``(maxm,cnt) ` `        ``else``: ` `            ``maxm ``=` `max``(maxm,cnt) ` `            ``cnt ``=` `0` `            ``N >>``=` `1` ` `  `    ``return` `maxm ` ` `  `# Driver Code ` `N ``=` `14` `print``(maxZeros(N)) ` ` `  `# This code is written by Shrikant13 `

## C#

 `// C# code to determine Length of  ` `// longest consecutive zeroes in the  ` `// binary representation of a number.  ` `using` `System; ` ` `  `class` `GFG  ` `{ ` `static` `int` `maxZeros(``int` `N)  ` `{  ` `    ``// variable to store the length  ` `    ``// of longest consecutive 0's  ` `    ``int` `maxm = -1;  ` ` `  `    ``// to temporary store the  ` `    ``// consecutive 0's  ` `    ``int` `cnt = 0;  ` ` `  `    ``while` `(N != 0)  ` `    ``{  ` `        ``if` `((N & 1) == 0 )  ` `        ``{  ` `            ``cnt++;  ` `            ``N >>= 1;  ` `            ``maxm = Math.Max(maxm, cnt);  ` `        ``}  ` `        ``else`  `        ``{  ` `            ``maxm = Math.Max(maxm, cnt);  ` `            ``cnt = 0;  ` `            ``N >>= 1;  ` `        ``}  ` `    ``}  ` `    ``return` `maxm;  ` `}  ` ` `  `// Driver code ` `public` `static` `void` `Main() ` `{ ` `    ``int` `N = 14;  ` `    ``Console.WriteLine(maxZeros(N));  ` `} ` `} ` ` `  `// This code is contributed ` `// by anuj_67 `

## PHP

 `>= 1; ` `            ``\$maxm` `= max(``\$maxm``, ``\$cnt``); ` `        ``} ` `        ``else`  `        ``{ ` `            ``\$maxm` `= max(``\$maxm``, ``\$cnt``); ` `            ``\$cnt` `= 0; ` `            ``\$N` `>>= 1; ` `        ``} ` `    ``} ` `    ``return` `\$maxm``; ` `} ` ` `  `// Driver code ` `\$N` `= 14; ` `echo` `(maxZeros(``\$N``)); ` ` `  `// This code is contributed  ` `// by Shivi_Aggarwal ` `?> `

Output:

```1
```

My Personal Notes arrow_drop_up Maths is the language of nature

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.