1 / 17
文档名称:

四位二进制数除法器.doc

格式:doc   大小:353KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

四位二进制数除法器.doc

上传人:liwenfei1314 2018/6/16 文件大小:353 KB

下载得到文件列表

四位二进制数除法器.doc

文档介绍

文档介绍:设计目的
;
;
,通过仿真结果验证设计的正确性。
设计要求
设计一个四位二进制除法器,具体要求如下:
1. 用键盘输入两个四位二进制数,并用数码管显示输入数。

3. 除数为零时,数码管黑屏,不显示任何内容。
设计内容

以小数为例,设 x=-,y=,求x/y
笔算除法时,商的符号心算而得:负正得负;其数值部分的运算如下面竖式。
所以商x/y=,余数=-
其特点可归纳如下:
①每次上商都是由心算来比较余数(被除数)和除数的大小,确定商为1还是0。
②每做一次减法,总是保持余数不动,低位补0,再减去右移后的除数。
③商符单独处理。如果将上述规则完全照搬到计算机内,实现起来有一定困难,主要问题是:
“心算”上商,必须通过比较被除数(或余数)和除数绝对值的大小来确定商值,即|x|-|y|,若差为正(够减)上商1,差为负(不够减)上商0。
,再减去右移后的除数这一规则,则要求加法器的位数必须为除数的两倍。仔细分析发现,右移除数可以用左移余数的办法代替,其运算结果是一样的,但对线路结构更有利。不过此刻所得到的余数不是真正的余数,只有将它乘上2
-n才是真正的余数。
,而要求机器把每位商直接写到寄存器的不同位也是不可取的。计算机可将每一位商直接写到寄存器的最低位,并把原来的部分商左移一位。
综上所述便可得原码除法运算规则。
:
原码除法和原码乘法一样,符号位是单独处理的。以小数为例:


   
式中为x的绝对值,记作x*
为y的绝对值,记作y*
即商符由两数符号位“异或”运算求得,商值由两数绝对值相除(x*/y*)求得。
小数定点除法对被除数和除数有一定的约束,即必须满足下列条件:
0<|被除数|≤|除数|
实现除法运算时,还应避免除数为0或被除数为0。前者结果为无限大,不能用机器的有限位数表示;后者结果总是0,这个除法操作等于白做,浪费了机器时间。至于商的位数一般与操作数的位数相同。
原码除法中由于对余数的处理不同,又可分为恢复余数法和不恢复余数法(加减交替法)两种。
(1)恢复余数法。恢复余数法的特点是:当余数为负时,需加上除数,将其恢复成原来的余数。
由上所述,商值的确定是通过比较被除数和除数的绝对值大小,即x*-y*实现的, 而计算机内只设加法器, 故需将x*-y*操作变为[x*]补+[-y*]补的操作。
例:已知:x=-,y=-,求:[x÷y]原
解:由x*=,[x]原=
y*=,[-y]补=,[y]原=
商值的求解过程如下:
被除数(余数)

说     明

+

+[-y*]补(减去除数)

+
0
余数为负,上商0
恢复余数+[y*]补


+
0
被恢复的被除数
← 1位
+[-y*]补(减去除数)


+
01
     01
余数为正,上商1
← 1位
+[-y*]补(减去除数)


+
011
    011
余数为正,上商1
← 1位
+[-y*]补(减去除数)

+
0110
余数为负,上商0
恢复余数+[y*]补


+
0110
被恢复的被除数
← 1位
+[-y*]补(减去除数)

01101
余数为正,上商1

商的符号位为
由此可见,共上商5次,第一次上的商在商的整数位上,这对小数除法而言,可用它作溢出判断。即当该位为“1”时,表示此除法为溢出,不能进行,应由程序进行处理;当该位为“0”时,说明除法合法,可以进行。
在恢复余数法中,每当余数为负时,都需恢复余数,这变延长了机器除法的时间,操作也很不规则,对线路结构不利。加减交替法可克服这些缺点。
(2)加减交替法。加减交替法又称不恢复余数法,可以认为它是恢复余数法的一种改进算法。
分析原码恢复余数法得知: