算术左移和逻辑左移都是直接丢弃最高位,在低位补对应个数的0,不管数是否有符号位。
而算术右移和逻辑右移之间有点小区别:
逻辑右移不考虑符号位,右移一位,左边补零即可。
算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,;否则,就补0。
所以算术右移也可以进行有符号位的除法,右移,n位就等于除2的n次方。
例如,8位二进制数11001101分别右移一位。
逻辑右移就是[0]1100110
算术右移就是[1]1100110
参考链接:(https://blog.csdn.net/zzldm/article/details/53410280)