当前位置: 首页 > 图灵资讯 > 技术篇> 移位运算符和按位简写赋值

移位运算符和按位简写赋值

来源:图灵教育
时间:2024-08-18 22:34:31

1.位移位运算符

  • >>: 向右移动。
  • >>>:右移(零填充)无符号。

2.移位运算符的一般语法 value value >> num-bits: 向右移动值位,保留符号位。 value >>> num-bits: 向右移动值位,将零插入左侧。

3.向左移动

  • 每次左移都会导致该值的所有位向左移动一位。
  • 一个插在右边 0 位。
  • 效果:每次移位将值乘以 2。

4.向右移动

  • 每次右移,所有位置都会向右移动。
  • 保留符号位:0为正值,1为负值。
  • 效果:每班将值除以2,向下取整。

5.无信号向右平移(>>>)

  • 不要保留信号位;将0插入左侧.
  • 用于位模式,其中值被视为无符号数。

6.位移不是旋转

  • 移出的位置会丢失。
  • 移位不允许恢复移位。

示例: 左右滚动 *shift演示*

移动字节和短值时要小心

  • java 自动计算表达式时 byte 和 short 提升为 int。

示例:

  • 向右移动负字节值:当提升到int时,高填充1。
  • 当使用零填充右移时(>>>),这可能会导致问题,因为在零开始之前 24 位将是 1。

具有按位运算符的缩写赋值

  • 所有二元按位运算符都有一种简写形式,将赋值与按位运算相结合。

示例

x = x ^ 127;
x ^= 127;

移位运算符和按位简写赋值

以上就是移位运算符和按位简写赋值的详细内容,更多请关注图灵教育的其他相关文章!