移位判断

#include <algorithm>

using namespace std;

int main() {
    int N;
    while(cin>>N){
        int max = -1;
        int temp = 0;
        int n = 19;//测试样例不超过2^19
        while(n--){
        bool b = N&1;
        if(b){
            temp++;
            N=N>>1;
            if(temp>max)max=temp;
        }
        else {
            N=N>>1;
            temp=0;
        }
    }
        
        
        cout<<max<<endl;
  }
}