首页  >  文章  >  Java  >  移位运算符和按位简写赋值

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

王林
王林原创
2024-08-17 18:48:32378浏览

1。位移位运算符

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

2。移位运算符的一般语法
值 值>> num-bits:将值位向右移动,保留符号位。
值>> 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;

Os operadores de deslocamento e atribuições abreviadas bitwise

以上是移位运算符和按位简写赋值的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn