布斯(Booth)补码乘法:原理推导与实站案例讲解

发布时间:2026/7/13 3:40:53

布斯(Booth)补码乘法:原理推导与实站案例讲解 布斯(Booth)乘法文章目录布斯(Booth)乘法1.背景2.公式推导2.1 补码算真值公式2.2[ X × Y ] 补 [X \times Y]_{\text{补} }[X×Y]补​的布斯乘法递推公式2.3 部分积P~i~递归公式2.4 联立 (2) (3) 式2.5 结果3 案例1.背景在了解了手动补码运算之后 —— 计算机内部是如何进行补码的乘法的运算 ——布斯(Booth)乘法A. D. Booth安德鲁·唐纳德·布斯Andrew Donald Booth) 提出了一种补码相乘算法可以将符号位和数值位合在一起参与运算直接得出用补码表示的乘积且正数和负数同等对待。这种算法别乘法布斯(Booth)乘法注[ X × Y ] 补 ≠ [ X ] 补 × [ Y ] 补 [X \times Y]_{\text{补}} \neq [X]_{\text{补}} \times [Y]_{\text{补}}[X×Y]补​[X]补​×[Y]补​2.公式推导2.1 补码算真值公式2.2[ X × Y ] 补 [X \times Y]_{\text{补} }[X×Y]补​的布斯乘法递推公式这里简单解释下这个过程在上面得到了求一个数补码的真值的形式 ---- 把它凑成一个递推的形式 —– 拆分构造( Y i − 1 − Y i ) (Y_{i-1}-Y_i)(Yi−1​−Yi​)差分结构看粉色画线部分 即 之后的每一项都整理成 —–后一位置二进制数减去当前位二进制数的形式2.3 部分积Pi递归公式这里简单解释下这个过程 — 其实就是把 (2)式展开 然后再合并一下 —– 自己手写一下展开过程 很简单2.4 联立 (2) (3) 式2式从P1到Pn每次都要乘一个1/2乘n次就是 2-n2.5 结果对(2)的补充​ Yi- Yi-1 0 则 [ x ]补​ Yi- Yi-1 0 则 - [ x ]补​ Yi- Yi-1 0 则 03 案例P 是乘积寄存器Y是乘数寄存器简单解释下这个计算过程 —–第一行初始化乘积寄存器P和辅助位Y-1初始化为0 放入乘数Y第二行 Yi- Yi-1 0 则 0 然后再右移一位 P为 0000 0 Y为 011 Y-1为0第三行 Yi- Yi-1 0 则 - [ x ]补然后再右移一位 P为 0001 10 Y为 01 Y-1为1第四行 Yi- Yi-1 0 则 0 然后再右移一位 P为 0000 110 Y为 0 Y-1为1第五行 Yi- Yi-1 0 则 [ x ]补然后再右移一位 P为 1110 1110 Y为空 Y-1为0最后即得到[ X × Y ] 补 [X \times Y]_{\text{补} }[X×Y]补​的乘积 即为P中的内容 1110 1110​​ 嘻嘻嘻嘻布斯乘法部分到此结束​ (有错误欢迎指出) (疑问也是)❤️❤️持续更新中… …

相关新闻