22
设置的最低有效位的位置
我正在寻找一种有效的方法来确定设置为整数的最低有效位的位置,例如对于0x0FF0它将是4。 一个简单的实现是这样的: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & 1)) { value >>= 1; ++pos; } return pos; } 有什么想法可以减少一些周期吗? (注意:这个问题是针对喜欢这种东西的人,而不是告诉我xyzoptimization是邪恶的。) [edit] 谢谢大家的想法!我也学到了其他一些东西。凉!