题目:求最大连续bit数
描述 | |
---|---|
知识点 | 位运算 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 |
输入一个byte数字 |
输出 |
输出转成二进制之后连续1的个数 |
样例输入 | 3 |
样例输出 | 2 |
#include<iostream>
using namespace std;
int main()
{
int number,flag=1,max=0,cnt=0;
unsigned int testbits=1;
cin>>number;
while(testbits)
{
if(number&testbits)
{
if(flag)
cnt++;
else
cnt=0;
if(cnt>max)
max=cnt;
flag=1;
}
else
flag=0;
testbits=testbits<<1;
}
cout<<max<<endl;
//system("pause");
return 0;
}