2.4.2 · 建议 18 分钟

把一次乘法拆成几轮加法

先按原码思路累加与移位,再比较补码一位乘法和两位分组。

可学习
教材定位:纪禄平等《计算机组成原理》第 6 版,2.4.2,第 59—66 页(书内印刷页码)。
学习顺序:会补码加法、算术右移和位权展开。
先读懂,再操作

从这个问题开始:为什么乘数的一位只决定“加”或“不加”?

从乘数每一位出发

二进制的一位只有 0 和 1。为 1 时贡献相应位权的被乘数,为 0 时贡献零,把各项相加就是乘积。

原码思路先处理绝对值

把绝对值相乘,再决定正负号。逐轮累加后整体右移,可以保持高低部分的相对位权,不必把所有部分积一次相加。

补码可以直接处理符号

比较法也称 Booth 算法,根据相邻两位的组合决定加、减或不加减。先学会原码一位乘,再选择这个模式。

位级动画怎样读

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

本页小词典 · 遇到生词可以回来看
被乘数 / 乘数
乘法中的两个操作数,本页按乘数的位逐轮处理。
部分积
每轮累加过程中尚未完成的乘积。
附加位
在乘数末尾增加的比较位,初始为 0。
比较法(Booth)
检查相邻乘数位,安排加减及算术右移的补码乘法。

动手观察:把一次乘法拆成几轮加法

动态图解 · 公式推演

第一次建议用 3×5,并选择“原码思路”;看懂后再切换 Booth。 修改参数后点击上方按钮生效;用“下一步”观察过程。

演示范围原码思路用 4 位绝对值及单独符号,补码模式用 4 位带符号整数并给部分积增加保护位;输入范围统一为 −8~7。两位分组为原理展开。

带着问题再试一次

  1. 先用原码思路计算 3×5,记录每轮是否累加。
  2. 再算 3×(−5),比较原码思路和补码比较法如何处理符号。
做完再看解释

检查理解

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

1. 原码乘法思路中,符号怎样处理?
2. 本页比较法看到“最低位、附加位”为 10 时做什么?
本节知识清单与课堂延伸

教材的纯小数乘法与本页整数乘法小数点位置不同,但位权、累加与移位思想相通。整数版补码比较法做 4 轮移位;不要直接混用教材小数版最后一步不移位的计数约定。

两位乘法每次处理两位乘数,需要处理 0、1、2、3 倍被乘数;本页用两位分组的位权展开解释这一点,不模拟教材优化乘法器的进位与控制电路。

补码校正法可把负乘数的影响作为校正项处理;比较法将符号处理融入每轮运算。阵列乘法器则并行处理部分积,硬件结构在后续章节展开。

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