题解 | #求最大连续bit数#
求最大连续bit数
http://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2
/**
求一个int类型数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1
输入描述:
输入一个int类型数字
输出描述:
输出转成二进制之后连续1的个数
*/
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner in=new Scanner(System.in);
int n=in.nextInt();
String str= Integer.toBinaryString(n);
char[]ch=str.toCharArray();
int len=ch.length;
int count=1;
int max=1;
for(int i=0;i<len-1;i++) {
if(ch[i]=='1'&& ch[i+1]==ch[i] ) {
count++;
}else if(ch[i]=='0'){
count=1;
}
//111000011
if(max<count) {
max=count;
}
}
System.out.println(max);
}
}

