简述算术移位和逻辑移位的区别 举例说明。
算术,逻辑,区别
已帮助 人
-
正确答案:算术移位时符号位(最高位)不变左移时最高数值位移丢右移时最低数值位移丢移位时出现的空位根据不同机器数的移位规则确定填补空位的代码(1或0)。逻辑移位时没有符号位左移时最高位移丢低位补0右移时最低位移丢高位补0。例如:10101110逻辑右移一位得01010111逻辑左移一位得01011100。若将其视为补码则算术左移一位得11011100算术右移一位得11010111。可见两种移位结果不同。
算术移位时,符号位(最高位)不变,左移时最高数值位移丢,右移时最低数值位移丢,移位时出现的空位根据不同机器数的移位规则确定填补空位的代码(1或0)。逻辑移位时,没有符号位,左移时最高位移丢,低位补0,右移时最低位移丢,高位补0。例如:10101110逻辑右移一位得01010111,逻辑左移一位得01011100。若将其视为补码,则算术左移一位得11011100,算术右移一位得11010111。可见两种移位结果不同。
