1: 0000 0000 0000 0000 0000 0000 0000 0001
1<<n: 除了第n位为1,其他位都为0.
比如:1<<3
1: 0000 0000 0000 0000 0000 0000 0000 0001
1<<3: 0000 0000 0000 0000 0000 0000 0000 1000 第3位为1,其他位都为0
a & (1 << n): 除了a的第n位保持不变,其他位都为0
(a & (1 << n)) >> n : 将a的第n为值移动到第0位,其他位都为0