计算一个字节中“开”的位数

可能重复:
计数整数中的设定位数
计算32位整数中设定位数的最佳算法?

这是一个考试问题,这就是我所拥有的 - “在一个字节中”开“的位数是”1“,我假设。 我需要创建一个BitArray,随机填充它,然后遍历它,或者有不同的方式吗?


使用BitArray可能是有效的,但你也可以

byte b = ... ;

int count = Convert.ToString(b,2).ToCharArray().Count(c => c=='1');

这是面试问题吗?

对于一个字节,最快的方法是预先计算一个数组,使得a [i] = i中的位数 - 内存开销可以忽略不计。

链接地址: http://www.djcxy.com/p/72589.html

上一篇: Count the number of bits that are "on" in a byte

下一篇: Compare two binary numbers and get the diffrent bits