依次提取二进制1位置的数字,
while(num)
{ cout<< num&(~(num-1)) <<endl;//顺序打印出二进制位上1的数值, 或者是
//cout<< num -num&(num-1);
num=num&(num-1); //最后一位二进制的1 的位置变为0的数值。
}
while(num)
{ cout<< num&(~(num-1)) <<endl;//顺序打印出二进制位上1的数值, 或者是
//cout<< num -num&(num-1);
num=num&(num-1); //最后一位二进制的1 的位置变为0的数值。
}