枚举子集黑科技

版权声明:本文为博主原创文章,未经博主允许不得转载。 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的过程。

猜你喜欢

转载自blog.csdn.net/DFPMTS/article/details/78884178