左移(<<)
i = i << n ; 相当于 i = i * (2 ^ n )
右移(>>)
i = i >> n ; 相当于 i = i / ( 2 ^ n )
m&1 相当于判断m是否为奇数,如果是返回true,否则返回false
int a , b ;
a = a ^ b ;
b = a ^ b ;
“ ^ ”异或 实现两个值的对换