递归:
int firstset(int bits) { return (bits & 0x80000000) ? 31 : firstset((bits << 1) | 1) - 1;}
- 假设
[31,..,0]
索引 - 如果未设置任何位,则返回-1
| 1
通过限制移位数直到1
达到a 来防止堆栈溢出(32)- 不尾递归:)
欢迎分享,转载请注明来源:内存溢出
递归:
int firstset(int bits) { return (bits & 0x80000000) ? 31 : firstset((bits << 1) | 1) - 1;}
[31,..,0]索引
| 1通过限制移位数直到
1达到a 来防止堆栈溢出(32)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)