2.4 二进制除法运算(原码一位除恢复余数法)

2.4 二进制除法运算(原码一位除恢复余数法)2.4.1恢复余数法两个原码数X和Y相除,其商Q的符号为相除两数符号的异或值,余数R与被除数同符号。基本原理参与运算的两数通过“异或”原则确定商的符号,再利用其绝对值相除获取商和余数。详细步骤:对给定两数X与Y,求X/Y①初始化时,置R=X*,Q=0;②执行R-Y,若结果大于0,在Q最低位上商1,转④;③在Q最低位上商0,执行R+Y,恢复余数;④判断计数器是否为0,若不为0,R与Q同时左移,转②;⑤通过X0⊕Y0确定商的符号,判…

大家好,欢迎来到IT知识分享网。

2.4.1 恢复余数法

        两个原码数X和Y相除,其商Q的符号为相除两数符号的异或值,余数R与被除数同符号

基本原理

        参与运算的两数通过“异或”原则确定商的符号,再利用其绝对值相除获取商和余数。

详细步骤:对给定两数X与Y,求X/Y

①初始化时,置R=X*,Q=0;

②执行R-Y,若结果大于0,在Q最低位上商1,转④;

③在Q最低位上商0,执行R+Y,恢复余数;

④判断计数器是否为0,若不为0,R与Q同时左移,转② ;

⑤通过X0 ⊕ Y0确定商的符号,判断余数符号位,若为负,执行R+Y,恢复余数;

⑥返回结果。

        这里描述得看起来有点抽象,我给转成流程图了,按照这个一步步来即可。

2.4 二进制除法运算(原码一位除恢复余数法)

结合例题:

 

【例】用原码一位除恢复余数法计算X/Y 。X=0.1011,Y=0.1101
————————————————————————————————————————————————————————————————————————————————
y* = 0.1101    [-y*]补 = 1.0011 (代替-y)
 
被除数(R)    商(Q)    说明
--------------------------------------------------------------------------------
    0.1011    0.0000    初始状态    +[-y*]补
   +1.0011
  ——————————
    1.1110       0     余数为负数,上商0;+y*,恢复余数
   +0.1101
  ——————————
    0.1011            
--------------------------------------------------------------------------------
    1.0110       0_    商与余数左移一位; +[-y*]补  
   +1.0011
  ——————————
    0.1001       01    此时余数为正数,上商1;
--------------------------------------------------------------------------------
    1.0010      01_    商与余数左移一位; +[-y*]补
   +1.0011
  ——————————
    0.0101      011    此时余数为正数,上商1;
--------------------------------------------------------------------------------
    0.1010      011_   商与余数左移一位; +[-y*]补
   +1.0011               
  ——————————
    1.1101      0110   余数为负数,上商0;+y*,恢复余数
   +0.1101
  ——————————
    0.1010
--------------------------------------------------------------------------------
    1.0100     0110_   商与余数左移一位; +[-y*]补
   +1.0011
  ——————————
    0.0111     01101   此时余数为正数,上商1;
--------------------------------------------------------------------------------

    此时的商的位数与之前给出的商(00000)位数相同,则停止运算。
    商的值为0.1101
    商的符号位为 0⊕0=0,故X/Y=0.1101,余数为0.0111*2^-4

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21413.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信