题目描述
求一个byte数字对应的二进制数字中1的最大连续数
代码实现
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
//注意这里要进行多组测试用例
while(scanner.hasNext()){
int n=scanner.nextInt();
int max=0;
while(n>0){
int count=0;
while((n&1)==1){
count++;
n=n>>1;
}
//跳出循环,说明遇到0了
//比较一下count和max大小
if(count>max){
max=count;
}else{
count=max;
}
//继续右移,找下一次出现1的地方,直至n=0
n=n>>1;
}
System.out.println(max);
}
}
}
结果