版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DFPMTS/article/details/78884178
for(int I = S; I != 0; I = (I - 1) & S)
感性理解?
S = I = 1001100
I - 1 = 1001011
(I - 1) & S = 1001000
I = (I - 1) & S = 1001000
I - 1 = 1000111
(I - 1) & S = 1000100
所以就是一个忽略所有0位,在1位上不断-1的过程。