查找没有循环的32位数字的最高位集的索引

查找没有循环的32位数字的最高位集的索引,第1张

查找没有循环的32位数字的最高位集的索引

递归:

int firstset(int bits) {  return (bits & 0x80000000) ? 31 : firstset((bits << 1) | 1) - 1;}
  • 假设
    [31,..,0]
    索引
  • 如果未设置任何位,则返回-1
  • | 1
    通过限制移位数直到
    1
    达到a 来防止堆栈溢出(32)
  • 不尾递归:)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643206.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存