variable-precision SWAR algorithm
简介:这是一个计算一个数中有多少个二进制1的方法
int swar(uint32_t i)
{
// (A)
i = ( i & 0x55555555) + ((i >> 1) & 0x55555555);
// (B)
i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
// (C)
i = (i & 0x0F0F0F0F) + ((i >> 4) &am