首页  > 教育解读  > 二进制后移是怎么移

二进制后移是怎么移

2025-05-07 09:07:44
特立独行的兔子
特立独行的兔子已认证

特立独行的兔子为您分享以下优质知识

二进制右移操作是将二进制数的所有位向右移动指定的位数,具体规则如下:

一、带符号右移(算术右移)

符号位扩展

对于有符号数,右移时左侧空出的位用符号位(最高位)填充。符号位为0表示正数,为1表示负数。

示例说明

以8位二进制数 `00000101`(十进制5)为例,右移1位后变为 `00000010`(十进制2)。若原数为负数(如 `10000011`,十进制-5),右移1位后变为 `11111101`(十进制-3)。

二、无符号右移

直接丢弃左侧位

无符号数右移时,左侧空出的位直接丢弃,右侧用0填充。

示例说明

以8位二进制数 `00000101`(十进制5)为例,右移1位后变为 `00000010`(十进制2)。若原数为 `11111011`(十进制-5,无符号表示为 `4294967191`),右移1位后变为 `00111111`(十进制255)。

三、移位操作符示例

左移操作符(`>

2` 结果为 `00000010`(十进制2)。

四、应用场景

乘除法优化

左移n位相当于乘以2的n次方,右移n位相当于除以2的n次方。例如 `c = a