假设X是010111000
那~X就是101000111
^X + 1 = 101001000
X &(^X + 1)
X : 010111000
^X + 1:101001000
= 000001000
这个结果就是把X中最右侧的1留下,其他的1都抹去,也就是提取了X中最右侧的1
^X+1也可以理解为-X
假设X是010111000
那~X就是101000111
^X + 1 = 101001000
X &(^X + 1)
X : 010111000
^X + 1:101001000
= 000001000
这个结果就是把X中最右侧的1留下,其他的1都抹去,也就是提取了X中最右侧的1
^X+1也可以理解为-X