移位8位二进制数分为逻辑移位和算术移位两种类型,具体操作如下:
一、逻辑移位
逻辑右移 - 左边补0,右边移出位。无论原数符号位如何,均按0填充。 - 示例:`11001101` 逻辑右移1位后变为 `01100110`。
逻辑左移
- 左边补0,右边移出位。 - 示例:`11001101` 逻辑左移1位后变为 `01010101`。
二、算术移位
算术右移
- 左边补符号位(0为正数,1为负数),右边移出位。 - 示例:`10101010`(负数)算术右移1位后变为 `10100110`。
算术左移
- 左边补符号位,右边移出位。 - 示例:`10101010` 算术左移1位后变为 `101010100`(符号位扩展)。
三、注意事项
移位位数: 移位操作需明确位数(如8位),避免数据溢出或丢失。- 符号位处理