使用分治方法,计算32位整数中二进制码1的个数
uint8_t count1bit(uint32_t num)
{
num=(num &0x55555555)+((num>>1)& 0x55555555);
num=(num & )+((num>> )& );
num=(num &0x0F0F0F0F)+((num>> )& 0x0F0F0F0F);
num=(num & )+((num>> )& );
num=(num & )+((num>> )& );
return (uint8_t)(num);
}
求大神讲解思路,并补充完整程序……