Java中的移位运算符包括:
<< 左移运算符:将操作数的二进制表示向左移动指定的位数,低位补0。
右移运算符:将操作数的二进制表示向右移动指定的位数,高位补符号位(正数补0,负数补1)。
无符号右移运算符:将操作数的二进制表示向右移动指定的位数,高位补0。
移位运算符的规则如下:
左移运算符(<<):左移n位相当于乘以2的n次方,左移n位相当于将二进制表示的数向左移动n位,低位补0。
右移运算符(>>):右移n位相当于除以2的n次方,右移n位相当于将二进制表示的数向右移动n位,高位补符号位(正数补0,负数补1)。
无符号右移运算符(>>>):无符号右移n位相当于将二进制表示的数向右移动n位,高位补0。对于正数,无符号右移和右移的结果相同;对于负数,无符号右移会将符号位视为普通位,因此结果会变成正数。