左移 << 右移 >> 无符号右移 >>>
左移 <<
1. 将二进制数左移n位,相当于将数值乘以2的n次方
2. 左移运算符不会改变操作数的符号,左移后,右补零
3. 左移运算符会对溢出进行截断
右移 >>
1. 将二进制数右移n位,相当于将数值除以2的n次方
2. 对于正数,符号位不变,右移时左补0
对于负数,符号位不变,右移时左补1
对于零,右移运算符操作后结果仍为零
3. 右移运算符会对溢出进行截断
无符号右移 >>>
1. 将二进制数右移n位,相当于将数值除以2的n次方,并将最高位填充为0
2. 任意一个数字经过无符号右移之后,最终结果一定是非负数
3. 无符号右移运算符会对溢出进行截断