[计算机组成原理]booth算法——补码一位乘法

leocathyfelix leocathyfelix     2022-12-19     751

关键词:

x * y = z

运算规则:

1.和原码一位乘法不同,补码一位乘法的符号位参加运算的,且运算结果和所有参加运算的数都是补码形式。

2.乘数 x 取双符号位参与运算,部分积的初始值为0;

   乘数 y 取单符号位参与运算。

3.乘数 y 首先在末尾添加一个辅助位 0 ,每次讨论都是取 y 的最后两位但每次移动仅移动一位

4.判断 y 的最后两位是规则如下:

  •    00 或者 11 时,直接右移一位;
  •    01 时,先加 x 的补,然后右移一位;
  •    10 时,先加 -x 的补,然后右移一位。

5.有个特例,最后一步不用右移了。

举个栗子:

设 x = -0.1101 , y = 0.1011 

则 [x]补 = 11.0011 ,[-x]补 = 00.1101

一开始 部分积初始值:00.0000

先给y补一个辅助位0,得到 y = 0.10110

首先,从y的最后两位开始看,0.10110 ,为 10 ,对应规则 “先加[-x]补,再右移一位” :

           部分积  00.0000 + 00.1101 = 00.1101 ,右移一位得到 00.01101 

接着,y 右移一位再看,0.10110,为 11 ,对应规则“直接右移一位”:

           部分积  00.001101 

然后,y再右移一位再看,0.10110 ,为 01 ,对应规则“先加[x]补,再右移一位”

          00.001101          部分积

       + 11.0011              [x]补

       -------------------- 

       = 11.011001          部分积

           部分积 00.001101 + 11.0011 = 11.011001 ,右移一位得到 11.1011001 (注意这里符号位移动后,仍然保持为 11

接着,y再右移一位再看,0.10110 ,为 10 ,对应规则“先加[-x]补,再右移一位”

           部分积 11.1011001 + 00.1101 = 00.1000001 ,右移一位得到 00.01000001 

最后,y再右移一位再看,0.10110 ,为 01 ,对应规则“先加[x]补,再右移一位”

           部分积 00.01000001 + 11.0011 = 11.01110001 ,但这已经是最后一步,不用再右移了

                      所以最后结果是  1.01110001   (注意:这是x*y的补码

 

(计算机组成原理)第二章数据的表示和运算-第二节5:定点数乘法运算(原码/补码一位乘法)(代码片段)

文章目录一:乘法运算基本思想二:原码一位乘法(1)实现原理(2)手算模拟三:补码一位乘法(BoothBoothBooth算法,考察重点)一:乘法运算基本思想关于定点数的乘法,其实我们... 查看详情

booth补码乘法算法中乘数的右移规则是啥?

这是国家计算机三级PC教程里的。booth补码乘法算法中乘数的右移规则是什么?为什么和二进制的算术右移规则不一样呢?比如:设被乘数M=0111(7),乘数Q=0011(3),相乘过程如下:AQQ_000000110初始值100100110A=A-M110010011右移(第一... 查看详情

布斯乘法booth'smultiplicationalgorithmfromwikipedia

...克贝克学院在布卢姆斯伯里,伦敦。[1] Booth的算法在计算机体系结构的研究中很有用。Thealgorithm[edit]Booth‘salgorithmexaminesadjacentpairso 查看详情

用booth算法计算-4×3的4位补码乘法运算,要求写出每一步运算过程及运算结果麻烦详细说明每一步的操作

...是这样的.步骤要写的更详细,这里写起来麻烦...还有一种算法是两位两位右移. 查看详情

计算机组成原理——带求补器的补码阵列乘法器(代码片段)

这里写目录标题导读第一题第二题获取答案导读本专栏为期末复习和考研专栏,需要详解的可以到下面的练习方式给我留言(强调重点别不好意思下方联系我。给你详细解释!!!)。我们一起加油第一题1.(填空题,60分)... 查看详情

booth乘法器原理

...的研究。Booth算法与乘法器的一般结构乘法器工作的基本原理是首先生成部分积。再将这些部分积相加得到 查看详情

考前自学系列·计算机组成原理·补码定点加减运算和溢出判断,浮点数的加减运算,原码的乘法

补码定点加减运算和溢出判断浮点数的加减运算原码乘法 查看详情

booth算法(有符号数的乘法)

求M3M2M1M0×Q3Q2Q1Q0 : 0110×0101 (有符号数用补码表示,最高位表示正负)1、添加辅助位:A=0000  Q-1=02、控制逻辑判断:  ①Q0Q-1=01时:A=A+M 然后 A、Q、Q-1算术右移(两步)  ②Q0Q-1=10时:A=A-M&nbs... 查看详情

(计算机组成原理)第二章数据的表示和运算-第二节6:定点数除法运算(原码/补码一位除法)(代码片段)

文章目录一:除法运算基本思想二:原码一位除法:恢复余数法(1)实现原理(2)手算模拟三:原码一位除法:加减交替法(不恢复余数法)四:补码一位除法五:总结一:... 查看详情

408计算机组成原理—原码的乘法运算

【408计算机组成原理】—原码的乘法运算(九)一、手算乘法(十进制)原码移位乘法(手算模拟)Tips:乘数的符号位不参与运算,可以省略原码一位乘可以只用单位符号答题时最好写为原码机器数原... 查看详情

408计算机组成原理—原码的乘法运算

【408计算机组成原理】—原码的乘法运算(九)一、手算乘法(十进制)原码移位乘法(手算模拟)Tips:乘数的符号位不参与运算,可以省略原码一位乘可以只用单位符号答题时最好写为原码机器数原... 查看详情

408计算机组成原理—原码反码补码移码

【408计算机组成原理】—原码、反码、补码、移码(六)定点数:小数点的位置固定,例如996.007(常规计数法)浮点数:小数点的位置不固定,例如9.96007*10^2(科学计数法)一、无符号数的表示无符... 查看详情

计算机组成原理基础知识-运算方法

五.计算机的运算方法--在计算机中参与运算的数有两大类:无符号数和有符号数  无符号数:没有符号的数  有符号数    机器数与真值:机器中:0表示正,1表示负    原码表示法:把真值的正负用01表示   ... 查看详情

计算机组成原理定点数的运算

数值运算的核心是指加、减、乘、除四则算术。由于计算机中的数有定点和浮点两种表示形式,因此相应有定点数的运算和浮点数的运算。本文将介绍计算机中定点数的加减法运算过程。注意,理解本文的前提是要清楚... 查看详情

(计算机组成原理)第二章数据的表示和运算-第二节1:定点数的表示(原码反码补码和移码)(代码片段)

文章目录一:机器数的定点表示二:无符号数和有符号数的表示(1)无符号数(2)有符号数三:原码、补码、反码和移码(1)原码A:定点整数的原码表示B:定点小数的原码表示(2... 查看详情

深入浅出计算机组成原理:simd:如何加速矩阵乘法?(第27讲)

一、引子上一讲里呢,我进一步为你讲解了CPU里的“黑科技”,分别是超标量(Superscalar)技术和超长指令字(VLIW)技术。超标量(Superscalar)技术能够让取指令以及指令译码也并行进行;在编译的过程,超长指令字(VLIW... 查看详情

王道计算机组成原理笔记10定点数的表示:有符号数和无符号数(原码反码补码移码)

根据小数点的位数是否固定,在计算机中有两种固定格式:定点表示和浮点表示。定点数:计算机中采用的一种数的表示方法。参与运算的数的小数点位置固定不变。定点数的表示有符号数和无符号数的表示:机... 查看详情

(转)大数运算——大数乘法

...og.csdn.net/lisp1995/article/details/52316466首先说一下乘法计算的算法:同样是模拟人工计算时的方法。从低位向高位乘,在竖式计算中,我们是将乘数第一位与被乘数的每一位相乘,记录结果之后,用第二位相乘,记录结果并且左移一... 查看详情