首先要掌握一个基本操作,即如何求一个整数中1的个数。网上一般有多种操作,我比较喜欢“位移”的方法。
while (temp>0)
{
if ( (temp & 1) == 1 )
{
//temp & 1如果re最低位是1,则结果等于1 //
计数器加一
}
temp = temp >> 1;//向右移位
}
注意,上面的操作是针对待求数是非负数的情况。
首先要掌握一个基本操作,即如何求一个整数中1的个数。网上一般有多种操作,我比较喜欢“位移”的方法。
while (temp>0)
{
if ( (temp & 1) == 1 )
{
//temp & 1如果re最低位是1,则结果等于1 //
计数器加一
}
temp = temp >> 1;//向右移位
}
注意,上面的操作是针对待求数是非负数的情况。