计算机组成原理-第二章(6)定点数_CltCj的博客-CSDN博客
由补码快速求原码
对原码从右往左数,知道遇到第一个数字1,1及1右边的数不变,1左边的数字按位求反(符号位不变)
补码: 0010101000111010
原码: 0101010111000110
加法器的硬件电路较容易设计,减法的硬件电路就比较难设计,所以找方法来用加法代替减法,补码就是补数,所以,补码可以让减法操作转变为加法操作
计算机内部实现乘法是基于算数移位和加法来进行的
3B存储共24位
进位位:其实很简单,就是单独加一个位置用来判断是否进位。
图中黑色部分已经达到最高位,但最高位还是要进位,所以就要进位位
循环移位可用于大端存储和小端存储的切换
原码一位乘法
小数实现
主要看Mq中的当前位是1还是0,从而决定ACC加不加被乘数
整数实现
C4就是当前运算位
整数就把图中小数点改为逗号
再把小数点位置改到如图所示
补码一位乘法
Y5就是辅助位(实际上这个才是真正的最低位),Y4是MQ中“最低位”(和原码中最低位不一致,实际上是辅助位左边的一位)
原码除法
确定商是根据除数和余数大小来确定的
除法要用减法,减法要用补码
加减交替法
就是不恢复余数,直接让现余数*2+除数,这样得到的结果和下一步余数的结果一样
但如果加减交替法,最后一步发现余数是负的,还是需要恢复余数
加减的次数可能是n+1次,也可能是n+2次,但逻辑左移永远是n次
一个字节16位,一个半字32位