有没有一种简单的方法将位掩码转换为数组索引?
即.如果我有一个枚举
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