早教吧作业答案频道 -->数学-->
计算机组成之补码除法补码不恢复余数除法中,异号相除时,够减商0,不够减商1.我理解的够减是余数是正数.那么正/负如果某刻余数为负那么按照这个”不够减商1.“不就商1了么.?
题目详情
计算机组成之补码除法
补码不恢复余数除法中,异号相除时,够减商0,不够减商1.
我理解的够减是余数是正数.
那么 正/负 如果 某刻余数为负那么按照这个”不够减商1.“不就商1了么.?
补码不恢复余数除法中,异号相除时,够减商0,不够减商1.
我理解的够减是余数是正数.
那么 正/负 如果 某刻余数为负那么按照这个”不够减商1.“不就商1了么.?
▼优质解答
答案和解析
补码除法(加减交替法)规则说明
1. 商为正时,够减应商真值 1,不够减时商真值0;
商为负时,够减应商真值 -1,不够减时商真值0;
2. 当[]B补与[]A补同号时,商Q为正,Q的真值与补码形式一致;
当[]B补与[]A补异号时,商Q为负,Q的真值与补码的关系除最后一位(恒为1)外,其余各位补码实际上是对应真值的反码.
3. 关于溢出:假定第一位商的真值为qn1'
,
则余数
补补补-AqBAqBRnn'1'122,无论如何,第一位商只能是0,所以若qn1'
取1(或-1)时,余数仍为真余数,则溢出.也即:
当Q为正时,R=2[]B补-1[]A补=2[]B补-[]A补与B同号溢出; 当Q为负时,R=2[]B补-(-1)[]A补=2[]B补+[]A补与B同号溢出
4. 当Q为正时:
*
若R与[]A补同号,表明R是真余数,应商真值1,补码形式也是1;根据加减交替法,下一步为2R-[]1A补→R,即RAR补][2. *
若R与[]A补异号,表明R是假余数,应商真值0,补码形式也是0;下一步为2R+[]1A补→R,即RAR补][2.
5. 当Q为负时:
*
若R与
[]A补
同号,表明R是假余数,应商真值-0,反码形式是1;根据加减交替法,
下一步为 RAR补]1[2,即RAR补][2 *
若R与
[]A补
异号,表明R是真余数,应商真值-1,反码形式是0;下一步为
RAR补]1[2,即RAR补][2
6. 关于最后一位恒置1:由算法可知,最后一次减尝试可能出现够减和不够减两种情况,但不管
够减和不够减,减操作已经完成,算法中并没有处理是否要进行最后余数的恢复,所以,最后一位商的真值应为1(或-1),余数有可能是假余数.分两种情况: * 若Q为正,最后一位为1,与恒置1同.
*
若Q为负,最后一位真值为-1,反码形式为0,最后应将Q变成补码,最后一位也为1,与恒置1同.
商的修正及说明
1. 前提,最后一次余数为Rn1,在非恒置1前提下最后一位商为Q0 2. 若Rn1=0,Rn1为真余数,Q0置成1. 3. 若Rn10,
* 若Q为正,如果Q0=0,Rn1为假余数,恢复余数为Rn1+[]A补,商不
必修正.如果Q0=1,余数和商不必修正.
* 若Q为负,如果Q0=0(反码),Rn1为真余数,商变成补码,即Q0置
成1.如果Q0=1(反码),Rn1为假余数,恢复余数为Rn1-[]A补,商变成补码,即加1.
1. 商为正时,够减应商真值 1,不够减时商真值0;
商为负时,够减应商真值 -1,不够减时商真值0;
2. 当[]B补与[]A补同号时,商Q为正,Q的真值与补码形式一致;
当[]B补与[]A补异号时,商Q为负,Q的真值与补码的关系除最后一位(恒为1)外,其余各位补码实际上是对应真值的反码.
3. 关于溢出:假定第一位商的真值为qn1'
,
则余数
补补补-AqBAqBRnn'1'122,无论如何,第一位商只能是0,所以若qn1'
取1(或-1)时,余数仍为真余数,则溢出.也即:
当Q为正时,R=2[]B补-1[]A补=2[]B补-[]A补与B同号溢出; 当Q为负时,R=2[]B补-(-1)[]A补=2[]B补+[]A补与B同号溢出
4. 当Q为正时:
*
若R与[]A补同号,表明R是真余数,应商真值1,补码形式也是1;根据加减交替法,下一步为2R-[]1A补→R,即RAR补][2. *
若R与[]A补异号,表明R是假余数,应商真值0,补码形式也是0;下一步为2R+[]1A补→R,即RAR补][2.
5. 当Q为负时:
*
若R与
[]A补
同号,表明R是假余数,应商真值-0,反码形式是1;根据加减交替法,
下一步为 RAR补]1[2,即RAR补][2 *
若R与
[]A补
异号,表明R是真余数,应商真值-1,反码形式是0;下一步为
RAR补]1[2,即RAR补][2
6. 关于最后一位恒置1:由算法可知,最后一次减尝试可能出现够减和不够减两种情况,但不管
够减和不够减,减操作已经完成,算法中并没有处理是否要进行最后余数的恢复,所以,最后一位商的真值应为1(或-1),余数有可能是假余数.分两种情况: * 若Q为正,最后一位为1,与恒置1同.
*
若Q为负,最后一位真值为-1,反码形式为0,最后应将Q变成补码,最后一位也为1,与恒置1同.
商的修正及说明
1. 前提,最后一次余数为Rn1,在非恒置1前提下最后一位商为Q0 2. 若Rn1=0,Rn1为真余数,Q0置成1. 3. 若Rn10,
* 若Q为正,如果Q0=0,Rn1为假余数,恢复余数为Rn1+[]A补,商不
必修正.如果Q0=1,余数和商不必修正.
* 若Q为负,如果Q0=0(反码),Rn1为真余数,商变成补码,即Q0置
成1.如果Q0=1(反码),Rn1为假余数,恢复余数为Rn1-[]A补,商变成补码,即加1.
看了 计算机组成之补码除法补码不恢...的网友还看了以下: