**Explanation**

For this problem, we are taking some numbers and also finding the binary of all numbers after that we can find the maximum consecutive 1's, take an example with a number between 1 to 15 and also write their binary number.

Number | Binary Number | Maximum Consecutive 1’s |

0 | 0000 | 0 |

1 | 0001 | 1 |

2 | 0010 | 1 |

3 | 0011 | 2 |

4 | 0100 | 1 |

5 | 0101 | 1 |

6 | 0110 | 2 |

7 | 0111 | 3 |

8 | 1000 | 1 |

9 | 1001 | 1 |

10 | 1010 | 1 |

11 | 1011 | 2 |

12 | 1100 | 2 |

13 | 1101 | 2 |

14 | 1110 | 3 |

15 | 1111 | 4 |

As we can see the maximum consecutive 1's in binary numbers are {15(4 consecutive 1's), (14, 7(consecutive 1's)), (3, 6, 11, 12, 13(consecutive 1's)), (1, 2, 4, 5, 8, 9, 10(1 consecutive 1's)), 0 (0 consecutive 1's). And here n & 1 produces a value that is either 1 or 0, depending on the least significant bit. This is a bitwise AND operation. or n >>= 1 means set n to itself shifted by one bit to the right. The expression evaluates to the new value of x after the shift.

**Note:**We can see that maximum consecutive 1's and maximum consecutive 0's may be less and equal to binary number digit(maximum digit in binary number).

All solution provided here are in C++ (CPP) if any reader wants these solutions in C, and Java comments below or sends a mail with your query like " day n solution in C / C++ / Java. Check the end of the post solutions with the full explanation.

**Tip:**Always try to implement your own logic this will help you to solve and build a logic. Before copying the program I recommended please read this full article, this will help you to build your own logic.

Submit Your Solution Here: Click Here

## Maximum Binary Sum Hackerrank Solution in C

```
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main() {
int n, count = 0, max = 0;
scanf("%d", & n);
while (n) {
if (n & 1)
count++;
else
count = 0;
if (max < count)
max = count;
n >>= 1;
}
printf("%d", max);
return 0;
}
```

### Binary Numbers Hackerrank Solution in C++

```
#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
int main() {
int n, count = 0, max = 0;
cin >> n;
while (n) {
if (n & 1)
count++;
else
count = 0;
if (max < count)
max = count;
n >>= 1;
}
cout << max;
return 0;
}
```

## 0 Comments: