lowbit 函数
在线段树中看到这个函数,它的目的是求二进制最低为1 的值
如 5 二进制位 0 1 0 1 那么放入lowbit 函数 为 1
如 4 二进制位 0 1 0 0 那么放入lowbit 函数 为 4
如 6 二进制位 0 1 1 0 那么放入lowbit 函数 为 2
代码如下:
int lowbit(int x)
{
return x&(-x);
}
其解题过程为
举个例子 如过输入的为 6
6 的二进制为 0 1 1 0
-6 的二进制为 1 0 1 0
6 & (按位与)-6 的结果用二进制表示为 0 0 1 0
结果为 2