一、移位运算
通过改变各个数码位和小数点的相对位置,从而改变各个数码位的权重实现乘法、除法
1、原码的算数移位:符号位不变,数值位进行移位
右移:高位0补,低位舍弃,可能会丢失一定精度
左移:低位补0,高位舍弃,可能造成严重误差
2、反码的算数移位:正数与原码相同,
负数的反码:右移(高位补1,低位舍弃)左移(低位补1,高位舍弃)
3、补码的算数移位:正数的算数补码与原码相同
负数的算数补码:右移(高位补1,低位舍弃)左移(低位补0,高位舍弃)
例如:-20*7表示为-20*(2^0+2^1+2^2)
二、逻辑移位
逻辑右移:高位补0,低位舍弃
逻辑左移:低位补0,高位舍弃 可以看着无符号数的算数移位
三。循环移位
循环移位:将舍弃位的数移都二进制数的另一端
带进位位的循环移位: