计算二进制数中 1 的个数

有些算法题中需要计算数字中1的个数,怎么执行效率才最高?
比如leetcode中的此题:https://leetcode-cn.com/problems/counting-bits/

直接上代码:

int getBits(int data)
{
    
    
	int count = 0;
	while(data != 0)
	{
    
    
		data &= data - 1;
		count++;
	}
	return count;
}

Guess you like

Origin blog.csdn.net/weixin_42887343/article/details/120263346