public:
int NumberOf1(int n) {
int cnt=0;
//我们可以发现1100010和1100001 相与&后是1100000
//1011111和和1100000 &的结果是1000000
//每相与一次就会少一个1,通过这个方法可以计算1的个数
while(n!=0){
cnt++;
n=n&(n-1);
}
return cnt;
}
};