a >> i 移位运算,比如二进制的10,右移一位得到1你可以理解为除以2,除了i次。&,按位与运算,目的是判断移位以后最低位是1还是0例如十进制的3,二进制是11,11&1 = 13 >> 1 = 3/2 = 1, 1&1 还是=11>>1 = 0 0&1 就是0了,if就不满足了。