定点运算——除法

分析笔算除法

定点运算——除法

将笔算除法转换成计算机除法

定点运算——除法

操作步骤

定点运算——除法

符号位

提出除数的符号位 和被除数的符号位,二者进行异或运算,得到最终结果
定点运算——除法

数值部分

取出除数和被除数的数值部分,求绝对值,然后用绝对值相除定点运算——除法

约定

  1. 小数之间做除法,结果仍旧是小数,否则溢出;整数之间做除法,结果仍旧为整数,否则溢出
  2. 被除数,不为0,否则,直接输出零
  3. 除数不为零,否则报错

运算流程

定点运算——除法
下述为数值部分
定点运算——除法
4. 第一次相减,结果为负数,商的末位上0

定点运算——除法
5. 商逻辑左移一位,空出最低位,等待上商;余数恢复,逻辑左移一位,扩大两倍,再做差

定点运算——除法
6. 差值为正,商的原码末位上1

定点运算——除法
7. 将结果作为新的余数,逻辑左移;商逻辑左移,空出最低位,等待上商

定点运算——除法
8. 继续将余数与除数做差,结果为正,商的末位上1
定点运算——除法
9. 将新得到的差继续左移,作为新的余数。商的原码逻辑左移,空出末位,等待上商。

定点运算——除法
10. 结果为负数,商的末位上0
定点运算——除法
11. 差值逻辑左移,作为新的余数。商逻辑左移,空出末位,等待上商

定点运算——除法

  1. 结果为正数,商的末位上1,得到最终结果
列表

定点运算——除法
定点运算——除法

提炼修改——不恢复余数运算

定点运算——除法
将上述过程转为表达式
定点运算——除法

运算表格

基本过程不变,只不过转为了公式运算,再次具体的流程省去。虽然是转为了公式,但是第一步仍就要做差,确定第一次上商的数值,由此确定下一次的位数

定点运算——除法

总结

  1. 四位机器数,总共上了五次商,移了四次位。第一次上商是为了判定结果是否溢出,既是是否为大于一的数。
  2. 用移动的次数去判定出发是否结束

相关文章: