n >>=1 : n = n/2n&1==1 : n%2 == 1n = n&(n-1) 可以将n二进制中最右边1后面的数都变为0 如n =6,则 n = 110 & 101 = 100求n的二进制位(反向 ) while(n){ cout<< n&1 ; n >> =1; } //n=6 (110) 则会输出011