相关疑难解决方法(0)

23
推荐指数
2
解决办法
3万
查看次数

计数位数:这条线如何工作?N = N&第(n-1);

我需要解释一下这条特定的线是如何工作的.
我知道这个函数计算1位的数量,但这条线究竟是如何清除最右边的1位?

int f(int n) {
    int c;
    for (c = 0; n != 0; ++c) 
        n = n & (n - 1);
    return c;
}
Run Code Online (Sandbox Code Playgroud)

有人可以简单地向我解释一下或给出一些"证明"吗?

c++ algorithm bitcount

9
推荐指数
1
解决办法
6504
查看次数

按位代码"$ n&($ n - 1)"有什么作用?

这段代码意味着什么,以及在不使用位移的情况下以其他方式实现同​​样的目标?

if ($n & ($n - 1))
Run Code Online (Sandbox Code Playgroud)

php bit-manipulation bitwise-and

6
推荐指数
2
解决办法
3915
查看次数

标签 统计

algorithm ×1

bit-manipulation ×1

bitcount ×1

bitwise-and ×1

c ×1

c++ ×1

php ×1