- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理 第五讲课件
* * 2.4 定点除法运算 定点除法运算 2.4.1 原码除法算法原理 2.4.2 并行除法器 基本原理: 两个原码表示的数相除时,商的符号由两数 的符号按位相加(异或)求得,商的数值部分由两数的数值部分相除求得。 设有n位定点小数(定点整数也同样适用): 被除数x,其原码为:[x]原=xf .xn-1…x1x0 除数y,其原码为: [y]原=yf .yn-1…y1y0 则有商q=x/y,其原码为: ????????????[q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0) 商的符号运算qf=xf⊕yf与原码乘法一样。 原码除法运算原理 2.4.1 原码除法运算原理 商的求法:商的数值部分的运算,实质上是两个正数求 商的运算。所以,原码的除法只需考虑两个正数相除即 可。 根据我们所熟知的十进制除法运算方法,很容易得 到二进制数的除法运算方法。所不同的只是在二进制中, 商的每一位不是“1”就是“0”,其运算法则更简单一些。 下面仅讨论数值部分的运算。设被除数x=0.1001, 除数y=0.1011,模仿十进制除法运算,以手算方法求 x÷y的过程如下: 定点除法运算 0.1 1 0 1 (商q) 0.1 0 1 1 ? 0.1 0 0 1 0 x(r0) 被除数小于除数,商0 -0.0 1 0 1 1 2-1y 除数右移1位,减除数,商1? 0.0 0 1 1 1 0 r1 得余数r1 -0.0 0 1 0 1 1 2-2y 除数右移1位,减除数,商1 0.0 0 0 0 1 1 0 r2 得余数r2 -0.0 0 0 1 0 1 1 2-3y除数右移1位,不减除数,商0 0.0 0 0 0 1 1 0 0 r3 得余数r3 -0.0 0 0 0 1 0 1 1 2-4y 除数右移1位,减除数,商1 0.0 0 0 0 0 0 0 1 r4 得余数r4 得x÷y的商q=0.1101,余数为r=0 该步不作 计算机计算需考虑的几点: 1、计算机中,小数点是固定的,不能简单地采用手算的办法。为便于机器操作,计算机一般采用 “除数右移”或 “余数左移”的方法。 2、机器的运算过程和人毕竟不同,人会眼看心算,一看就知道够不够减。但机器却不会心算,必须先作减法,若余数为正,才知道够减;若余数为负,才知道不够减。 不够减时必须恢复原来的余数,以便再继续往下运算。这种方法称为恢复余数法。要恢复原来的余数,只要当前的余数加上除数即可。但由于要恢复余数,使除法进行过程的步数不固定,因此控制比较复杂。 机器实现除法运算有两个先决条件(纯小数): 除数不等于0,否则商为无穷大。 被除数要小于除数,否则商会溢出。 定点除法运算 [例] x=0.101001, y=0.111, 求x÷y。? [解:] x*=|x|=0.101001, y*= |y|=0.111,先求|x|/|y|,符号位单独处理, 由于需要做减法运算,所以需求[-y*]补=1.001 被除数x 0.1 0 1 0 0 1 + [-y]补(减y ) 1.0 0 1 ?????????????? 余数为负 1.1 1 0 0 0 1 <0 q0=0 加y 0.1 1 1 ???? (恢复余数) ? 0.1 0 1 0 0 1 余数左移 1.0 1 0 0 1 0 减y 1.0 0 1 ???? ? 余数为正 0.0 1 1 0 1 >0 q1=1 余数左移 0.1 1 0 1 减y 1.0 0 1 ???? ? 余数为负 1.1 1 1 1 <0 q2=0 加y 0.1 1 1 ???? (恢复余数) ? 0.1 1 0 1 余数左移 1.1 0 1
文档评论(0)