位运算

2020 M12 21

左移

相当于 left*(2^right) 
10<<1  =>20 

右移

相当于 left/(2^right) 
100>>1  =>50

按位与

每一位都为1,结果才为1 
8 & 7  => 0  
1000 & 0111 => 0000 => 0

按位或

其中一位为 1,结果就是 1 
8 | 7 => 15 
1000 | 0111=> 1111=> 15

按位异或

每一位都不同,结果才为 1 
8 ^ 7 =>15 
1000 ^ 0111 => 1111 => 15
8 ^ 8  => 0