8 位变量中的位索引

Index of bits in 8-Bit variable

我有一个8位变量,我想得到每个1位的索引。

对于 00000011,索引只会是 1 和 2。要获取索引,我会使用一个简单的 for 循环并检查给定位置的某个位是否为 1-。

我的方法总是需要 8 次迭代。这可以更有效地完成吗?

不确定它会加速你的问题,但你可以在每次迭代时移动你的 8 位变量(如果它是无符号的)并测试早期循环退出的值是否为零