其中一二的方法,参考了网上的 关于“计算一个字节里(byte)里面有多少bit被置1”的思考 这篇文章
第一种,移数据
int fun1(int data)
{
int count=0; //计数
while(data)
{
count+=data&1; //检查Num最后一位是否为1
data>>=1;
}
return count;
}
没什么可解释的,但如果是个负数,可能会出问题
第二种,移1
int fun2(int data)
{