package question15_find_one;
/**
* @Classname Solution1
* @Description TODO
* @Date 2020/3/31 22:00
* @Created by mmz
*/
public class Solution1 {
static int count1(int number){
int count = 0;
while(number !=0){
if((number &1) == 1){
count++;
}
number = number >>1;
}
return count;
}
public static void main(String[] args) {
System.out.println(count1(9));
}
}
正常逻辑,9的最右位与1,如果结果为1,说明当前最右位为,count++。
不管结果如何,在把number向右移1位,直到number的值最后为0;