这个位运算还不是很明了,不过大概意思看明白了,谢谢...

编程之路定要走完……
int i; int j=`~i; if(1==i) printf("1多"); if(0==i) printf("0多"); do{ i&=i-1; j&=j-1; }while((i!=0)&&(j!=0)) if(i) printf("1多"); else if((0==i)&&(0==j)) printf("一样多"); else printf("0多");