加减交替法(不恢复余数法) |
您所在的位置:网站首页 › 负数左移一位 › 加减交替法(不恢复余数法) |
前言
加减交替法处理思想是先减后判,如果减余数后发现不够减,则下一步中改为加除数操作。 运算一步加减完成时,遵循的规则 当余数为正时,表示够减,即商上1,在进行下一次商时,将余数(此时为正)左移一位,减去除数。当余数为负时,表示不够减,即商上0,在进行下一次商时,将余数(此时为正)左移一位,加上除数。运算时需要双符号补码,所以应先把给定的定点数转换为补码形式,需要注意的是,除数的负数也要转换为双符号补码,方便后面作减法。因为在计算机中减一个数等于加这个数的负数。而补码正是用来做加减法的。操作的步数n 是由要求的n位商决定的,如果第n步 余数为负,则需增加一步恢复余数,即 +Y ,增加的这一步不移位。 实例练习题目: X=0.1011 Y=0.1101 用加减交替法求X/Y 解: [X]补 =0.1011 对应的双符号位补码为 00 1011 [Y]补 =0.1101 对应的双符号位补码为 00 1101 [-Y]补 =1.0011 对应的双符号位补码为 11 0011 开始计算,X先减一下Y,即X+[-Y] 我们用双符号补码来做 根据规则,结果若是负数,代表不够减,下一步应该+Y,则商上0,并且在进行下一步之前让余数左移一位。即余数11 1110变为 11 1100 开始下一步 根据规则,结果若是正数,代表够减,下一步应该-Y,(-Y 就是加上-Y) 则商上1,并且在进行下一步之前让余数左移一位。即余数00 1001 变为 01 0010 开始下一步 根据规则,结果若是正数,代表够减,下一步应该-Y,(-Y 就是加上-Y) 则商上1,并且在进行下一步之前让余数左移一位。即余数00 0101 变为00 1010 开始下一步 11代表双符号位的负数,根据规则,结果若是负数,代表不够减,下一步应该+Y,则商上0,并且在进行下一步之前让余数左移一位。即余数11 1101变为 11 1010 开始下一步 00代表双符号位的正数,根据规则,结果若是正数,代表够减,则商上1, 这时候商了五次,到了X和Y的位数 最终商总共上了01101 所以最终结果的数值位为1101 符号位为相除两数符号的异或值,在这里都是0和0 即最终异或值应该为0 另外还应该加上余数00 0111(上图最后双符号位形式) 即0.0111 (正常形式) 最后结果为0.1101 + 0.0111 × 2-4 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |