首页 > 应用开发 > > 编程计算一个数的二进制形式1位的总数
我们拿到这样的题目,第一思路可能是进行移位操作,每当移除的位为1时,设定一个变量去统计1的个数,但是这种方法可能相对来说比较麻烦。
大家可以看一下下面这种方法,是不是简单一些:就是一个数不断与自己减1相与,其实功能就是把自己的最低的1位去掉,肯定也必须设定一个变量去统计循环执行的次数,也就是位为1的总数。
点击(此处)折叠或打开
int fun(int x)
{
int count = 0;
while(x)
{
x = x&(x-1);
count ++;
}
return count;
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2567/viewspace-3124720/ ,如需转载,请注明出处,否则将追究法律责任。