任给1个十进制的数字,输出该数字转化为二进制后1的个数
1. 方法1
public static int Method(int number)
{
int i = 1;
while ((number & (number - 1)) != 0)
{
number = (number & (number - 1));
i++;
}
return i;
}
2. 方法2
public static int Method2(int number)
{
int i = 1;
while (number!=1)
{
if (number % 2 == 1)
{
i++;
number -= 1;
}
number = number/2;
}
return i;
}