X = X &(X - 1) 的作用是清楚最低位的1,注意这里最低位的1是在所有的1中最低位的1,并不是在所有的二进制位中的最低位。
x & -x # 因为在计算机中的加减运算是用补码实现的,所以这样会得到最低位的1(其余位全部为0),注意这里的1也说的是所有1中的最低位的1.
计算机中的负数是用补码表示的,正数补码和补码一样!!!!
x = x << n # 左移n位,n是左移的位数
x = x >> n # 右移n位,n是右移的位数
Leetcode 231、338 可拿来练手