有没有一种简单的方法可以将位掩码转换为数组索引?
即。如果我有一个枚举
a = 0x01,
b = 0x02,
c = 0x04,
d = 0x08,
e = 0x10,
etc
我想将相关数据存储在一个数组中,有没有一种简单的方法可以将 a 转换为 0、b 转换为 1、c 转换为 2 等等?
非常感谢
最佳答案
r = ln base 2
and programmatically,
unsigned int v=yourEnumValue;
unsigned r = 0;
while (v >>= 1)
{
r++;
}
r is your answer
关于c++ - 位掩码到数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/696952/