把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

【小技巧】统计二进制数1的个数

移位计数

依次判断每一位上是不是1


int bitcnt(int x)//求二进制1的个数
{
	int res=0;
	while(x)
	{
		if(x&1)//当前位为1
			res++;
		x>>=1;
	}
	return res;
}

	

更快速的方法

每次循环不断清除最右边的1,直到该数为0为止。

int bitcnt(int x)
{
    int res =0 ;
    while(x)
    {
        x&=(x-1) ; // 清除最低位的1
        res++;
    }
    return res;
}
posted @ 2018-02-27 14:04  Starlight_Glimmer  阅读(11)  评论(0编辑  收藏  举报  来源
浏览器标题切换
浏览器标题切换end