最近在一个算法题中看到了一种新奇的用法,即X & -X,下面是对这一写法的分析:

众所周知,倘若X已知,则-X应该在计算机中表示为 X按位取反再加上1,即有:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

X & -X = X & (~X +1)

当一个偶数与它的负值相与时, 结果是能被这个偶数整除的最大的2的幂

如果是x是奇数, 那x & -x 的结果一定是1

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄