这是一个艰难的过程(至少我很难过:P):
在不使用任何循环的情况下,找到32位数字的最高位集的索引。
递归:
int firstset(int bits) { return (bits & 0x80000000) ? 31 : firstset((bits << 1) | 1) - 1; }
[31,..,0]
| 1
1