文章目录 -x x & -x,当x为偶数时 x & -x,当x为奇数时 x&-x 的实际用途 -x -x 在二进制里表示对 x 的二进制按位取反(~x)之后再加 1 ,即 -x = ~x+1 x & -x,当x为偶数时 在执行 x & -x 时,若 x 为偶数,最后结果肯定有如下两个特征: 这个结果只有一位值是1, 其他位均是0 这个值的末位0的个数与原值保持一致 从数学上推导,因为 偶数 的二进制末尾一定由 k 个 0 构成,如:110(6) 100(4)。 那么对其按位取反一定得到 k 个 1 ,当再对 ~x 进行 加一 操作后,一定能得到 1个1 和 k个0