Java程序以给定整数的二进制表示形式找到最长连续1的长度

给定整数的二进制表示形式中,最长连续1的长度涉及一起出现的最长1序列的长度。一个例子如下:

Number = 13
Binary representation = 1101

二进制表示形式中最长的连续1的长度为13 = 2

演示此的程序如下所示-

示例

public class Example {
   public static void main(String strings[]) {
      int num = 55;
      int n = num;
      int count = 0;
      while (num!=0) {
         num = (num & (num << 1));
         count++;
      }
      System.out.println("The length of the longest consecutive 1's in binary representation of " + n + " is: " + count);
   }
}

输出结果

The length of the longest consecutive 1's in binary representation of 55 is: 3

现在让我们了解上面的程序。

定义了数字的值。然后,使用while循环找到数字的二进制表示形式中最长的连续1的长度,并将其存储在count变量中。最后,显示计数值。证明这一点的代码片段如下所示-

int num = 55;
int n = num;
int count = 0;
while (num!=0) {
   num = (num & (num << 1));
   count++;
}
System.out.println("The length of the longest consecutive 1's in binary representation of " + n + " is: " + count);