枚举二进制子集 for(int j=w;j;j=(j-1)&w); for(int j=W;j;j=(j-1)&w); View Code 每次把最后一个1赋为0,并把剩下的0赋成1,并与原数取& 这样能做到枚举全每一个1位是0和1时的子集的情况。