首页  > 教育解读  > 二进制移位之后怎么补零

二进制移位之后怎么补零

2025-05-08 02:03:46
公务员全知道
公务员全知道已认证

公务员全知道为您分享以下优质知识

二进制移位后的补零规则根据移位方向和数据类型有所不同,具体如下:

一、有符号数移位补零规则

有符号右移(算术右移)

- 正数:高位补0,低位补0(保持符号不变)

- 负数:高位补1,低位补1(保持符号不变)

- 示例:

- $4 rightarrow 100 rightarrow 10 rightarrow 1$(正数右移2位)

- $-4$(补码为$11111100$)右移2位后为$11111010$(即$-2$)

有符号左移

- 高位移出(舍弃),低位补0

- 示例:

- $4 rightarrow 100 rightarrow 10000$(左移2位)

二、无符号数移位补零规则

无符号右移:

无论正负,高位均补0

无符号左移:高位移出(舍弃),低位补0

示例:

$4 rightarrow 100 rightarrow 10$(无符号右移2位)

$4 rightarrow 10000$(无符号左移2位)

三、注意事项

数据类型影响:

- `int`类型(32位)左移时,每移1位丢弃第31位;`long`类型(64位)每移1位丢弃第63位

- 无符号数移位不会改变数值的正负性

补码表示:

- 负数需先转换为补码形式再移位,移位后需根据符号位还原原码

通过以上规则,可确保移位操作在不同数据类型下保持正确性。