
李老师求职指导为您分享以下优质知识
二进制移位运算分为左移和右移两种类型,具体规则如下:
一、移位运算类型
)
- 操作规则:
将二进制数的所有位向左移动指定位数,空出的高位补符号位(正数补0,负数补1),低位舍弃。 - 示例:
- `5 >
>
2` → `0000 0001`(结果为1)
- `-5 >
>
2` → `1111 1110`(结果为-2)。
>
)
- 操作规则:
将二进制数的所有位向右移动指定位数,空出的高位补符号位(正数补0,负数补1),低位舍弃。 - 示例:
- `5 >
>
2` → `0000 0001`(结果为1)
- `-5 >
>
2` → `1111 1110`(结果为-2)。
二、特殊说明
无符号右移(>
>
>
):仅对无符号数操作,空出高位补0,不会保留符号位。- 算术移位与逻辑移位:
算术移位(默认右移):有符号数右移时保留符号位,左移时补0。 - 逻辑移位(无符号右移):无符号数右移时高位补0,符号位不参与。
三、应用场景
移位运算常用于快速乘除以2的幂次方(如左移n位相当于乘以2^n,右移n位相当于除以2^n)。