计算一个字节中"打开"的位数

Max*_*Max 1 c# algorithm

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

这是一个考试问题,这就是我所有的 - "计算"在一个字节中"的数量""开"意味着1,我假设.我是否需要创建一个BitArray,随机填充它然后迭代它或者有不同的方式吗?

Bal*_*a R 6

使用BitArray可能会很有效,但您也可以这样做

byte b = ... ;

int count = Convert.ToString(b,2).ToCharArray().Count(c => c=='1');
Run Code Online (Sandbox Code Playgroud)