GeeksforGeeks App
Open App
Browser
Continue

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

We have a number N. Determine the length of the 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```

A simple approach is to traverse through all bits and keep track of the 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``?>`

## Javascript

 ``

Output

```1
```

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

My Personal Notes arrow_drop_up