可能重复:
Count the number of set bits in an integer
Best algorithm to count the number of set bits in a 32-bit integer?
这是一个考试问题,这就是我所有的 - “计算”在一个字节中“的数量”“开”意味着1,我假设。我需要创建一个BitArray,随机填充它然后迭代它还是有不同的方式?
答案 0 :(得分:6)
使用BitArray可能效率很高,但您也可以
byte b = ... ;
int count = Convert.ToString(b,2).ToCharArray().Count(c => c=='1');
答案 1 :(得分:1)
这是面试问题吗?
对于一个字节,最快的方法是预先计算一个数组,使得a [i] = i中的位数 - 内存开销可以忽略不计。