int ffs(int x)
{
int r = 1;

if (!x)
return 0;
if (!(x & 0xffff)) {
x >>= 16;
r += 16;
}
if (!(x & 0xff)) {
x >>= 8;
r += 8;
}
if (!(x & 0xf)) {
x >>= 4;
r += 4;
}
if (!(x & 3)) {
x >>= 2;
r += 2;
}
if (!(x & 1)) {
x >>= 1;
r += 1;
}
return r;
}

二分法应用~

相关文章:

  • 2022-12-23
  • 2022-02-07
  • 2021-11-20
  • 2021-11-20
  • 2021-07-03
  • 2021-07-26
  • 2021-08-05
  • 2022-01-11
猜你喜欢
  • 2021-05-07
  • 2022-12-23
  • 2021-05-21
  • 2021-10-30
  • 2022-12-23
  • 2022-01-04
  • 2022-12-23
相关资源
相似解决方案