//位运算,打印一个数字的各个二进制位
原理:n>>k&1,n>>k是把n的二进制数的第k位移到最后一位上
例如,n=10,二进制表示为1010.n>>0,结果是不动,n>>1,结果是101,相当于除以二,n>>2,结果是10,n>>3,结果是1
1010&0001,结果是0,101&001,结果是1,10&01,结果是0,1&1,结果是1
依次打印出来即可
//位运算,获取一个二进制数的最后一位1
原理:x&-x,-x是反码加一,也就是(~x+1)
假如n=1010,~x=0101,~x+1=0110,1010&0110=0010,这样就获取到了最后一位1