
面试考官邢老师为您分享以下优质知识
二进制右移2位是将一个二进制数的所有位向右移动2位,移出的位丢弃,空出的位用0或符号位填充。具体说明如下:
右移2位相当于将原数除以2的2次方(即4),并向下取整。例如,二进制数1001右移2位后变为10(十进制2)。
填充规则
- 逻辑右移:
空出的高位补0,适用于无符号数或需要保持二进制位模式的场景(如图像处理)。 - 算术右移:空出的高位补符号位(正数补0,负数补1),适用于有符号整数运算,确保结果保持正确的符号。
示例说明
- 二进制数1001(十进制9)右移2位:
- 逻辑右移结果:000010(十进制2);
- 算术右移结果:000010(十进制2)。
应用场景
常用于数值缩放、位掩码操作或特定算法优化。例如,通过右移实现除法运算,或处理二进制数据时保持位模式不变。