补码加减交替除法中,什么情况下会出现假余数?若出现假余数应怎样处理...
发布网友
发布时间:2022-05-26 01:01
我来回答
共1个回答
热心网友
时间:2024-08-15 10:43
最后一位恒置1,由算法可知,最后一次减尝试可能出现够减和不够减两种情况,但不管够减和不够减,减操作已经完成,算法中并没有处理是否要进行最后余数的恢复,所以,最后一位商的真值应为1(或-1),余数有可能是假余数,分两种情况:1、若Q为正,最后一位为1,与恒置1同;
2、若Q为负,最后一位真值为-1,反码形式为0,最后应将Q变成补码,最后一位也为1,与恒置1同。
商的修正及说明:
1、前提,最后一次余数为Rn-1,在非恒置1前提下最后一位商为Q0。
2、若Rn-1=0,Rn-1为真余数,Q0置成1。
3、若Rn-1不等于0,
若Q为正,如果Q0=0,Rn-1为假余数,恢复余数为Rn-1+[A]补,商不必修正。如果Q0=1,余数和商不必修正。
若Q为负,如果Q0=0(反码),Rn-1为真余数,商变成补码,即Q0置成1。如果Q0=1(反码),Rn-1为假余数,恢复余数为Rn-1-[A]补,商变成补码,即加1.