算术移位
算术移位的对象是有符号数,在移位过程中符号位保持不变。具体如下图:
分析由原码得到补码的过程发现,当对其由低位向高位找到第一个“1”时,在此“1”左边的各位均与对应的反码相同,而在此“1”右边的各位(包括此1在内)均与对应的原码相同。因此负数的补码左移时,因空位出现在低位,则添补的代码与原码相同,即添0;右移时因空位出现在高位,则添补的代码应与反码相同,即添1.
逻辑移位
不管左移还是右移,都添0.
算术移位
算术移位的对象是有符号数,在移位过程中符号位保持不变。具体如下图:
分析由原码得到补码的过程发现,当对其由低位向高位找到第一个“1”时,在此“1”左边的各位均与对应的反码相同,而在此“1”右边的各位(包括此1在内)均与对应的原码相同。因此负数的补码左移时,因空位出现在低位,则添补的代码与原码相同,即添0;右移时因空位出现在高位,则添补的代码应与反码相同,即添1.
逻辑移位
不管左移还是右移,都添0.