左移就是指的是逻辑移位,右端补0,而右移则是算术移位,最高位补符号位,是负数就补1是正数就补0. 正数左移有正有负: 负数左移也是有正有负 右移则稳定保持符号。 所以左移才叫逻辑位移嘛,因为我不管你符号位,移上去一个1就是一个1. 所以右移叫算数位移:你不管怎么移,我始终保持正负号不变。 最后一点,考虑左右移动时的结果应该从补码来考虑,补码移动完成之后,再还原成原码,再换成整数。 来源:https://www.cnblogs.com/Tonarinototoro/p/11419542.html 标签 算术右移