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