目录
王道PPT总结:
原码的右移:
原码的左移:
小数的左移右移:
反码的算数移位:
补码的算数移位:
算数移位总结:
定点数的移位运算:就是为了模拟乘除法的计算,右移就是乘法,左移就是除法
将被乘数/除数转化为二进制,使用左移和右移实现乘除法
当改变一个数字的小数点的位置,实际上是改变了每个数字的位权
对二进制的右移,相当于除2;如果舍弃的位是1,就会丢失精度
左移,相当于乘2;如果舍弃高位是1,严重丢失精度
定点小数也是一样的道理,只是移动的是小数点后面的数据
反码的移位计算:
如果是正数的反码,就是原码本身,右移和左移都是补0
如果是负数的反码,原本原码要补0的,但是因为和原码相反,所以反码的左移和右移要补1,相当于对原码补0
补码的移位计算:
如果正数,为原码本身,右移和左移都是补0
如果是负数的补码,右移补1,左移补0(右1左0,可以这么理解:向右看齐,都是以右边的为基准,就是1)
循环移位:
可以实现大端(高位->低位)和小端存储的兑换