Java 位移运算


只有整型才能进行位移操作,byte 和 short 会转型为 int 再进行位移运算。

1、左移运算符 <<

  • 把操作数转化成二进制(计算机中就是二进制),按位向左移动,右边补0
  • 第1位是符号位,因此左移的时候可能会导致符号变化。
  • 进行位操作之前会把移位数对32取模,Java 的 int 类型表示为32位,如果要左移32位,则等于不位移。
  • 左移一位相当于乘2,不过要注意可能会溢出。

2、右移运算符 >>

  • 右移操作按位向右移动,左边补符号位
  • 进行位操作之前会把移位数对32取模。
  • 右移一位相当于除2

3、无符号右移 >>>

右移操作按位向右移动,左边补0