09_计算机的运算方法04.pptVIP

  • 5
  • 0
  • 约6.49千字
  • 约 36页
  • 2017-04-25 发布于四川
  • 举报
09_计算机的运算方法04

;第六章 计算机的运算方法;;原码一位除法基本上是从手算演变过来,符号位单独处理。 两个原码表示的数相除运算规则: 商的符号位:两数的符号相异或 商的数值部分:两数的绝对值相除。 运算方法与普通的十进制小数除法相类似, 设 n 位被乘数X 和 乘数Y 用定点小数表示(定点整数同样) 被除数: [X]原 = Xf . Xn-1 … X1 X0 除数: [Y]原 = Yf . Yn-1 … Y1 Y0 商 [ Q ]原= ( Xf ⊕ Yf ) + (0.Xn-1 … X1 X0) / (0.Yn-1 … Y1 Y0) 于是原码与原码相除就变成如何进行两个正数相除的问题了。 两种除法: 恢复余数法 不恢复余数法(加减交替法);两个数相除,上商时, 人会心算,一看就知道够不够减。 够减商1,不够减商0。 但机器不会,必须先作减法。 若余数为正,才知道够减; 若余数为负,才知道不够减。 不够减时,必须恢复原来的余数。 顾名思义恢复余数法。;被除数 X=0.1011 除数Y=0.1101 求 X/Y。商精确到小数点后四位。 手算方法计算步骤如下:;4.1、原码一位除法;寄存器A存放 被除数 X = 0.1011 ,后来可存放余数,累次参加运算。 寄存器B存放 除数 Y = 0.1101 寄存器C存放 商 Q = X / Y 另外设置计数器CR控制循环次数。 [X]原- [Y]原 运算可以用 [X]补 + [-Y]补取代; [Y]补= 0.1101 [-Y]补= 1.0011; 被除数X(余数) 商 操作 0. 1011 0 0 0 0 0 + 1. 0011 - Y (+ [-Y]补) 1. 1110 0 0 0 0 0 负数:不够减,商0 + 0. 1101 +Y 恢复余数, (+ [Y]补) 0. 1011 0 0 0 0 0 余数和商同时左移一位 1. 0110 0 0 0 0 0 + 1. 0011 - Y (+ [-Y]补) 0. 1001 0 0 0 0 1 正数:够减,商1 1. 0010 0 0 0 1 0 余数和商同时左移一位 + 1. 0011 - Y (+ [-Y]补) 0. 0101 0 0 0 1 1 正数:够减,商1 0. 1010 0 0 1 1 0 余数和商同时左移一位 + 1. 0011 - Y (+ [-Y]补) 1. 1101 0 0 1 1 0 负数:不够减,商0 + 0. 1101 + Y 恢复余数, (+ [Y]补) 0. 1010 0 0 1 1 0 余数和商同时左移一位 1. 0100 0 1 1 0 0 + 1. 0011 - Y (+ [-Y]补) 0. 0111 0 1 1 0 1 正数:够减,商1;2)不恢复余数法(加减交替法) 加减交替法是对恢复余数除法的一种修正。 当余数为负时,不恢复,继续求下一位商, 但用加上除数 (+Y) 的办法来取代 (-Y) 操作,其他操作不变。 加减交替法的规则如下:

文档评论(0)

1亿VIP精品文档

相关文档