计算机中小数点的位置是事先约定的,因此,二进制表示的机器数在相对于小数点作n位左移右移的时候,其实质就是该数乘以或者除以2n+1。
移位与加减法结合能够作乘除法。
两种移位规则:
- 算术移位,对有符号数的移位操作叫做算数移位
- 逻辑移位,对无符号数的移位操作叫做逻辑移位
- 两种移位在不同场合都可以发生作用
算数移位:对于正数不管左移还是右移,空位都补零,因为原、反、补三码一样;对于负数,因为三种机器数的表示形式不相同,移位后添补的规则也有所差异。
具体见表:
注意在左移过程中丢掉有效数据出错,右移丢掉有效数据影响精度。