定点数的原码补码除法

2018-03-06  本文已影响404人  Rumbles

原码的恢复余数/不恢复余数的除法
参考:http://www.diangon.com/thread-10781-1-1.html

(1)原码的恢复余数的除法
        由于除法通过减法实现,当商上1时,可将比较数据大小的减法操作与除法操作中的减法操作合并,即商上1后继续后面的除法操作。商上0时表明不够减,不应该直接执行除法运算中的减运算,但因试商时的比较操作已经实施了一次减法,因此,需将余数恢复到试商前的值,这可加除数来是想,这种方法称为恢复余数法除法。 
例如:x = 0.1001 y=0.1011  求 x/y
(2)原码的不恢复余数的除法
不恢复余数法又称加减交替法,是对恢复余数法的改进,其特点是当试商结果为负时不再恢复余数,而是根据所得余数的符号作下列处理:

●当余数为正时,商上1,余数左移一位,减去除数; 
●当余数为负时,商上0,余数左移一位,加上除数。

由于没一步都上商,因此运算步数固定,控制简单,提高了运算速度。 

补码的不恢复余数的除法:

(1)被除数与除数同号,被除数减去除数;被除数与除数异号,被除数加上除数。 

(2)余数与除数同号,商上1,余数左移一位减去除数;余数与除数异号,商上0,余数左移一位加上除数。(注意:余数左移加上或减去除数后就得到了新余数。) 

(3)重复(2),直到商的位数满足要求为止。  

上一篇下一篇

猜你喜欢

热点阅读