sei哈加油⛽️ (*≧▽≦)

因为我们学了原码的乘法运算,这一小节我们来看补码的乘法运算怎么实现,我们需要掌握的是补码的一位乘。怎么实现?我们需要掌握的是补码的一位乘法,那由于补码的计算方法和源码的计算方法非常类似,所以我们会和上一小节的内容进行对比,学习和记忆,那在源码的一位乘法当中,我们说过我们需要进行N轮的加法,还有移位操作,可以得到最终的结果,那补码的一位乘法,我们同样需要进行N轮的加法和移位,但是最后会比元码的一位乘法再多来一次加法多一次加法好,第2点源码每一轮的加法,我们有可能会加这样的两种值,要么就是加全零,要么就是加X的绝对值的一个源码,那具体加什么我们是根据MQ神商寄存器的最低位来确定的,当最低位为1的时候,就是加上X的绝对值的源码,当最低位为0的时候就是加上0马上凌浩在看补码的乘法补码,每一次有可能加的值,有这样的三种情况,要么嘉陵要么加上X的补码,要么加上负X的补码,那具体要加什么,我们需要根据Mt zero当中的最低位,还有一个所谓的辅助位来确定那辅助位是什么,我们一会再来解释,那规则是这样的,不管是辅助位还是MQ的这个最低位,肯定要么就是0,要么就是一所以辅助位减MQ最低位有可能得到的值,只会有这样的三种情况,唯一为0或者为-1,那么当辅助为减低位=1的时候,我们需要用ACC加上X的补码,如果相减为0,那么我们需要让ACC加上灵儿,如果相减得-1,那么我们需要让ACC加上复读吗?其实还是很直观很好记的啊,都有这种一一对应的关系,好那这。这种一对应的关系好,那这是第2个区别,接下来对原码的乘法来说,我们每一次做完加法之后都需要进行逻辑右移,逻辑右移就意味着高位,一定是天零,唉,对。每一次做完加法之后都需要进行逻辑右移逻辑右移就意味着高位,一定是天0,而对于补码来说,每一次做完加法之后,我们进行的移位操作是补码的算术右移,还记不记得补码的算术右移怎么做?就是符号位保持不变而高位到底填什么?你需要具体看符号位到底为多少,这个我们一会再带大家的复习,总之原码和补码乘法的又一规则是不太一样的啊,最后原码的符号位叫陈数的符号位是不参与运算的,而补码的陈述他的符号位必须参与运算两个源码的拳法,最终结果到底是正是负,我们是单独的用一个异或运算来确定,而补码的乘法是正是负,我们是直接通过加法和一位的运算,最终会自然而然地确定无码的乘法运算它的硬件构成和有什么不一样首先我们提到过一个很重要东西就是所谓的辅助位其实这个所谓的辅助位是吧扩展了一位是用心。斗记存器它的容量多扩展了一位试用新扩展的这一位来存储的,那这个辅助位初始是灵儿之后,我们每一轮不是会进行一个又一骂又一背标器,而之前que最低的这个呃,参与城运算的这一位会变成辅助位,所以大家需要注意在我们所谓的MQ寄存器里的最低位,指的是当前参与乘法运算的这一位,我们用这种描述方式只是为了和源码乘法的那个描述方式进行一个统一,大家也比较方便记忆,但事实上mq真正的最低位其实是这个辅助位才对,所以大家不要混淆,那由于MP里面新增加了一个被,所以他总共应该是有N+2这么多个为那另外一点值得注意的是我们的CPU里边的这些寄存器所有寄存器的长度一般都是统一的,所以由于MQ它多增加了一位,因此ACC还有X这些寄存器也会多增加一位,那多增加的这一位可以用来表示双符号位的,这种不慢注意的。我一般都是统一的,所以由于MQ它多增加了一位,因此ACC还有X这些计算器也会多增加一位,那多增加的这一位可以用来表示双符号V的这种补码好,另外需要注意的是在源码的乘法当中,我们刚开始是往X还有MQ里边存入了被乘数和乘数的绝对值,而这个地方我们是直接把它的符号位也就是完整的补码给存进来了,被陈述采用双符号位的不骂而陈述,采用单符号位的不骂,因为mq的最后一位会用来存放这所谓的辅助位,所以陈述就只能是单处号位的不骂,那由于之后每个人的加法有可能是加上X的,不骂也就直接加上啊,这个通用寄存器里存的值也有可能是要加上负X的补码,那为了实现X的补码到负X补满的一个快速转换,一般来说会有一个专门的辅助电路来完成这个事情,通过辅助电路的处理之后,送到aIU里面的数,就会直接变成副S的补码的一个形式,好那我们来看一下如何用手算的方式来模拟这个补码一位乘法。也是从王道书上来的,大家可以对比着自己的书来进行一些笔记,那这每一步的加法当中,我们都会把两个二进制比各位画上一个小小的下划线,那右边这一位就是我们刚才所谓的辅助位,而左边这一位就是我们所谓MQ的最低位,好刚开始由于辅助位减MQ的最低位等于0.1,也就是-1,所以第1次我们需要加的应该是副X的一个补码,那如何由补码求负X的补码,这个问题我们在之前探讨过,这就不再赘述,不熟悉的同学可以暂停来自己试一下,而经过第1次的加法之后,我们得到了一个加和的值,那这个加和的值其实是存在ACC,也就是哪家计算器里面的加法运算完成之后,ACC和MQ里的内容会统一的进行,一次又一个困难这一步数的又一我们就需要补一。职位新出现的这个空位,我们用和符号位相同的数来进行填补,然后向下边这一步啊,负数的右移,我们就需要补一这个我们在之前也探讨过,如果已经忘了同学可以回去再复习一下,好那到这一步为止,我们完成了第1轮的加法,还有算术又一接下来第2轮的加法由于此时辅助位减掉最低位是1-1,所以第2轮的加法应该加上呢,就是0,那么加0之后得到了一个结果,再进行一次算术右移,这样的话我们就完成了第2轮的加法和又一好,接下来由于辅助位减掉MQ的最低位是等于1,所以往后应该是加上X的符号,那这次加法得到的是一个复数啊,符号位为1,所以此时需要进行复数的算术右移在高位补一个1,这样我们完成了第3轮的加法和右移,那第4轮的加法和右移也是一样的,总共有4个数值位,所以需要进行4轮的加法,还有算术右移最后还需要再多进行一次家访只有家法没有一位。加法还有算术右移,不过我们之前说过补码在最后还需要再多进行一次加法,只有加法没有移位,那此时由于辅助位减掉mq的最低位是等于1,所以最后的这一次加法应该是加上X的补码,那需要注意的是最后这一次到底加多少,这点其实和我们原来陈述的这个符号位是有关的,这个0就是原本陈述的符号位,所以我们才说在补码的乘法当中,这个乘数的符号位也是会参与运算的,那这次的加法得到的这个数在拼接上MQ的前N个倍就可以得到最终的一个乘积结果,并且我们天然的得到了这个乘积的正负性,这两个数X和Y相乘得到了一个负的值,好,那这样的话我们就完成了X×Y的一个补码运算。的课本上的Y5指的是这个辅助位,然后Y四指的是我们刚才说的MQ的最低位,这是Y1,这是Y2Y3Y4Y5,让最高的这个符号为课本上把它记作了YS,好,那通过之前的例子,同学们再来回顾一下,我们刚开始对原码和补码的一个对比,相信大家能有更深的认识,比起源码的乘法来说,补码乘法除了在进行N轮的这个加法和一味之外,最后还要多来一次加法,最后的这一次加法会让陈数的符号位也参与到运算当中,另外在补码乘法中每一次的加法到底加什么?这点需要通过辅助位和MQ的最低位相减来进行判断到底要加什么,那这为什么MQ的最低位给他打了一个双引号啊?大家应该知道什么原因,因为事实上M的辅助位让我们只是为了和原码乘法的这样mm Q最低为进行一个类比啊,这样更方便记忆,所以我们采用这样的方式来描述再次强调源码的惩罚措施。 I'm que最低为进行一个类比啊,这样更方便记忆,所以我们才用这样的方式来描述好,另外再次再次强调源码的乘法当中,每次移位操作是逻辑移位就是符号位,也会参与移动,并且高位永远是贾玲儿补码的,一味都是算术右移,符号位是固定不变的,而空出来的V到底补多少?这个具体得看补码的正负性正数是要补0,负数是要补1好的,那以上就是定点数的乘法的一个实现思想。

2.2.2-6-2 补码位乘法(Booth算法)相关推荐

  1. 补码一位乘法(Booth算法)

    在补码一位乘法的求解过程中我们需要的东西:[X]补,[Y]补以及被乘数的相反数的补码[-X]补 一.运算规则 1.符号位参与计算 2.采用补码进行计算 3.被乘数X 一般取双符号位参与计算,并且让部分 ...

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

    x * y = z 运算规则: 1.和原码一位乘法不同,补码一位乘法的符号位是参加运算的,且运算结果和所有参加运算的数都是补码形式. 2.乘数 x 取双符号位参与运算,部分积的初始值为0: 乘数 y ...

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

    文章目录 一:乘法运算基本思想 二:原码一位乘法 (1)实现原理 (2)手算模拟 三:补码一位乘法( B o o t h Booth Booth

  4. 【计算机组成原理】定点乘法运算之补码一位乘法(Booth算法)

    x * y = z 讨论已知x和y的情况下,怎么通过补码一位乘法方法得出z- 首先说下运算规则- 和原码一位乘法不同的是,补码一位乘法的符号位是参加运算的~运算的所有的数包括得到的结果z都是补码的形式 ...

  5. 补码一位乘法-一般乘法与Booth的证明与原理

    补码一位乘法 为什么要使用补码乘法? 在计算机中,使用一般乘法的话,对符号位还要重新进行异或操作,这样会大大降低运算速度,而使用补码乘法运算,就可以找到一种通用的解法来解决符号位的重复计算,而将符号位 ...

  6. 一位原码的乘法规则_原码一位乘法与补码一位乘法

    原码1位乘法 在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运算得到.而乘积的数值部分则是两个正数相乘之积.设n位被乘数和乘数用定点小数表示(定点整数也相同适用) 被 ...

  7. 计算机组成原理:原码、补码一位乘,Booth算法

    原码一位乘: 学习传送门:原码一位乘 主要方法:1判断,2加法,3右移,循环结束 其他: 原码逻辑右移,原码高位补零 补码算数移位 补码一位乘: 学习传送门:补码一位乘 主要思想: 1判断 2加法 3 ...

  8. 加减法、原码一位乘法、Booth算法、恢复余数法、加减交替法符号位及小结

    在学习计算机组成原理的计算方法时,或为步骤疑惑,或为题目难倒,本文主要介绍思路以及对常用类型小结 个人总结,仅供参考,能力有限,难免出错,欢迎大家讨论,书籍参考唐朔飞版<计算机组成原理> ...

  9. C语言布斯乘法算法,布斯Booth算法带符号位的乘法verilog语言实现booth算法

    Booth算法的推倒表示看不懂,举例说明:算法的计算过程. 求M*Q的值 M=5,Q=6 按二进制分解M和Q :M3M2M1M0×Q3Q2Q1Q0: 0110×0101 (有符号数用补码表示,最高位表 ...

  10. 原码的一位乘法和两位乘法

    原码一位乘法 运算规则: 1,符号位通过对被乘数和乘数的符号位作异或得到,不参与乘法运算. 2,数值部分使用被乘数和乘数的绝对值进行运算. 3,一共要经过n次加法和n次右移位.(n指的是乘数小数点后的 ...

最新文章

  1. C++ 莫队算法(转)
  2. vsftpd日志配置及查看——可以将vsftpd记录在系统日志里
  3. java和python的web自动化有什么区别-三分钟看懂Python和Java的区别
  4. php折线图 布局图
  5. java ArrayList 清空元素时迭代器造成的错误
  6. MySQL索引分析和优化(转)
  7. Hadoop大数据——mapreduce的Distributed cache
  8. 如何用Pygame写游戏(五)
  9. android学习笔记---57_采用方向传感器实现指南针,android设备传感器介绍,以及使用方法
  10. 【leetcode】332. Reconstruct Itinerary
  11. Meego系统的终结 诺基亚QT部门解散
  12. C#强化系列文章七:序列化和反序列化
  13. 南邮 | 离散数学实验一:利用真值表法求取主析取范式以及主合取范式的实现
  14. 中华民族(汉族及其他民族)起源
  15. Java2实用教程第五版+第七章习题答案
  16. win7 linux三系统,苹果电脑装windows7,Linux,mac os三系统,不需要BootBoot | MOS86
  17. Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例
  18. 共享打印机(联想M7605D)出现0x00000709错误代码的解决方法
  19. 理想汽车的2021,是否“理想”?
  20. 20221223英语学习

热门文章

  1. 天线方向图的基本概念
  2. matlab工作方向,MATLAB-CST联合仿真之四:方向图分析与综合
  3. 计算流体力学基础与网格概述(与书同行)——ANSYS ICEM CFD网格划分从入门到精通——丁源
  4. 染布厂ERP、染厂ERP、漂染厂ERP、纺织印染ERP生产管理系统
  5. 计算机考研百天,2021非全日制研究生备考即将进入百天倒计时的你还在坚持吗?...
  6. ZEMAX | 绘图分辨率结果对光线追迹的影响
  7. 开源GIS(八)——开源GIS简史
  8. 如何批量将多个 Excel 文档快速合并成一个文档
  9. php redis缓存雪崩,redis雪崩是什么
  10. EXCEL去掉所有英文