计算u8中位1的个数
unsigned char count_ones(unsigned char n) { n = (n & 0x55) + ((n >> 1) & 0x55); n = (n & 0x33) + ((n >> 2) & 0x33); return (n + (n >> 4)) & 0x0F; }
unsigned char count_ones(unsigned char n) { n = (n & 0x55) + ((n >> 1) & 0x55); n = (n & 0x33) + ((n >> 2) & 0x33); return (n + (n >> 4)) & 0x0F; }