计算机组成原理精炼笔记(二)计算机的运算方法

计算机组成原理精炼笔记(二)计算机的运算方法

一、原码一位乘(类似于竖式乘法)

非常简单,按照竖式乘法的原理计算即可,不做过多解释。

在这里插入图片描述

二、补码一位乘(Booth乘法)

在这里插入图片描述
上图结论二可以从结论一导出
下图是关于Booth乘法的推导,
在这里插入图片描述
Booth乘法的计算步骤
在这里插入图片描述
举例
在这里插入图片描述

重要总结

末尾补零,乘数低位减高位决定增加被乘数的正负,最后一步不移位。
特别注意:
(1)Booth乘法均为算数右移
(2)小数Booth 乘法需要双符号位,整数也尽量给双符号位
(3)记得补充yn+1。从yn+1 - yn计算到 y1 - y0, 因此是计算 n+1 次
(4)最后一次不移位,被乘数的符号位及之后的位全部清零

三、原码恢复余数除法(类似于竖式除法)

关于除法的一些约定:
(1)小数除法结果小于1,整数除法结果大于1
(2)x*, y* 分别表示被除数和除数的绝对值
在这里插入图片描述
减法试探,为正则上商1;为负则上商零,还得恢复余数。
在这里插入图片描述
和乘法互为逆运算左边是余数,右边是商,开始时商初始化为0,每次先用[-y*]的补码试探
(1)若得到的余数为正,则上商1并且余数扩大2倍(逻辑左移),继续下一步,直到商达到位数为止
(2)若得到的余数为负,则上商0并且还原余数(加上[y*]的补)再扩大2倍(逻辑左移),继续下一步,直到商达到位数为止

在这里插入图片描述
在这里插入图片描述

四、原码不恢复余数除法(加减交替法)

在普通的除法中将恢复余数、移位、试除合三为一即得如下规则 (非常简单)
方法:先试除,余数为负,左移 + y* , 余数为负, 左移 - y*
在这里插入图片描述
证明如下:
在这里插入图片描述
一个实例:
在这里插入图片描述

在这里插入图片描述

四种运算方法总结

(1)在列写竖式计算的过程中,确保每一步分割线之间的算式数量一致(包括上一步的结果、移位后的结果和加法)
(2)乘法运算是从低位到高位做乘法,初始时部分积为0,部分积右移并加上乘数,最终结果在部分积和乘数两个寄存器中。
(3)除法运算是试除和上商的过程,初始时余数为被除数,商为0,余数与商试除并不断左移,结果商存放在商寄存器中,余数存放在余数寄存器中。
(4)上述三种乘法中,只有Booth乘法比较特殊,涉及补码,因此要多加注意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值