计算一个十进制数转为二进制后有多少个1(或者0)
样例:
给定32(100000)返回1
给定5(101)返回2
分析
方法一:普通法
public int countOnes1(int num){
int count = 0;
while(num!=0){
if(num%2==1)
count++;
num=num/2;
}
return count;
}
方法二:位移法(但是当num为负数时会报错)
public int countOnes2(int num){
int count=0;
while(num!=0)