题目
逻辑右移1位和算术右移1位的效果是一样的。A. 错误B. 正确C. [参考答案]: A
逻辑右移1位和算术右移1位的效果是一样的。
A. 错误
B. 正确
C. [参考答案]: A
题目解答
答案
A. 错误
解析
逻辑右移和算术右移的区别在于补位的值:
- 逻辑右移:无论原数符号位如何,移位后高位始终补0,适用于无符号数。
- 算术右移:高位补位值由符号位决定(正数补0,负数补1),适用于有符号数。
关键结论:当原数的符号位为1(负数)时,两种移位结果不同。因此,题目中“效果一样”的说法是错误的。
逻辑右移与算术右移的对比
正数示例
- 原数:
01000001(正数) - 逻辑右移:
00100000 - 算术右移:
00100000 - 结果:相同。
负数示例
- 原数:
10000001(负数,补码形式) - 逻辑右移:
01000000 - 算术右移:
11000000 - 结果:不同。
结论:当原数为负数时,两种移位效果不同,因此题目说法错误。