lowbit算法解决的问题:获取一个数(二进制)中最低位的1所对应的值。实现方式:x & -x(x为一个二进制数) 分析: a)x & x[反] = 0,两数中必然会出现0,所以此式成立。 b)x[反] + 1,如果有进位说明在x的位置上是0,加到原先为1的位置停止。 c)x & -x(负数即为补码),即可得到最低位的1所对应的位置。