2.4.3 · 建议 18 分钟

试着减一减,商就一位位出现

比较恢复余数、不恢复余数的试除过程,再观察教材中的定点小数商。

可学习
教材定位:纪禄平等《计算机组成原理》第 6 版,2.4.3,第 66—71 页(书内印刷页码)。
学习顺序:先完成补码加减和移位。
先读懂,再操作

从这个问题开始:不够减时为什么可以下轮再补回来?

除法是在逐位判断够不够减

把被除数逐步移入余数中,试减除数,决定本位商。整数模式先求绝对值商和余数,再单独处理符号。

两种处理不够减的方法

恢复余数法在试减为负时立即加回除数。不恢复余数法保留负余数,下一轮改为左移后加除数,最后必要时恢复。

小数商需要跟踪位权

纯小数模式要求被除数绝对值小于除数绝对值。逐步求出商的小数位;余数经过移位后,解释其实际大小还要恢复位权。

位级动画怎样读

橙色位是本轮正在判断或移动的位;寄存器、当前操作和公式同时更新。每次单步只完成一次判断、加减或移位。

本页小词典 · 遇到生词可以回来看
被除数中能包含多少份除数。
余数
尚未被整除的部分。
恢复余数
试减为负后,加回除数撤销该次试减。
不恢复余数法
保留中间负余数,下一轮按规则改做加法,又称加减交替法。

动手观察:试着减一减,商就一位位出现

动态图解 · 公式推演

第一次建议使用 13÷3 和恢复余数法;每轮只判断一个商位。 修改参数后点击上方按钮生效;用“下一步”观察过程。

演示范围整数模式使用 4 位绝对值、商向零截断。小数模式把输入参数除以 16,求 4 位小数商,要求 |被除数|<|除数|。不接受零除数。

带着问题再试一次

  1. 在两个整数模式中用 13÷3,核对商 4、余数 1。
  2. 用小数模式参数 7、11:输入数分别是 7/16、11/16,检查最终“除数×商+余数”是否等于被除数。
做完再看解释

检查理解

用两道小题检查是否看懂本页的核心过程,答错可以重新尝试。

1. 恢复余数法试减后余数为负时,应怎样做?
2. 本页整数模式 −13÷3 的商与余数是?
本节知识清单与课堂延伸

教材还讨论直接用补码做不恢复余数除法。其首步按被除数与除数是否同号选择减或加,之后按余数与除数符号关系确定商位和下一步加减。

补码除法首步:同号相减,商符为 0;异号相加,商符为 1。后续余数与除数同号时上商 1、下步做 2r−除数;异号时上商 0、下步做 2r+除数。结果须按教材的末位与余数修正规则处理。

本页交互完整演示原码思路下的整数试除和定点小数加减交替;直接补码除法的机器级流程作为本节课堂延伸,不把它误称为本页绝对值算法。

依据教材章节范围重新设计,图示、演示数据与练习均为本站制作。配合课本阅读;本站不提供教材电子版。