提取数字最右侧的1

504 阅读1分钟

设a != 0,提取a中最右侧的1 res = a & (~a + 1)

例:
a =          1001 0110 1101 1000
~a =        0110 1001 0010 0111
~a + 1 =  0110 1001 0010 1000
res =       0000 0000 0000 1000