- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap3运算方法与运算器_3
教学过程;3.5 浮点运算及运算器;
浮点数的表示形式(以2为底):
N=M·2E
其中,M为浮点数的尾数a,一般为绝对值小于1的规格化二进制小数,用原码或补码形式表示;E为浮点数的阶码,一般是用移码或补码表示的整数。
阶码的底除了2以外,还有用8或16表示的,这里先以2为底进行讨论,然后再简介以8或16为底的数的运算。
;一、浮点加减运算;浮点加减运算步骤;浮点加减运算流程;举例:12位浮点数,阶码4位,包含1位阶符,尾数8位,包含1位数符,用补码表示,阶码在前,尾数(包括数符)在后,已知: X=(-0.1001011)×2001 Y=0.1100101×2-010 求Z=X+Y。 ;例3.45 两浮点数相加,求X+Y。(见教材P90)
已知:X=2010·0 Y=2100·(-0
解 :计算过程:
阶码符号 阶码 数字符号 尾数
X:0 0 010 00 Y: 0 0 100 11 ① 对阶操作
阶差ΔE=[EX]补+[-EY]补=00010+11100=11110
X阶码小,MX右移2位,保留阶码E=00100。
[MX]补=00 00 110 110 11;② 尾数相加
[MX]补+[MY]补=000011011011+1101010100=1110001010 11
③ 规格化操作
左规,移1位,结果=1100010101 10;阶码-1(减1操作),E=00011。
④ 舍入
附加位最高位为1,在所得结果的最低位+1,得新结果:
[M]补=1100010110, M=-0
⑤ 判溢出
阶码符号位为00,故不溢出,最终结果为:
X+Y=2011·(-0 ;二、浮点乘除运算;(1)0操作数检查
(2)阶码相加:阶码相加可以采用补码或者移码的定点整数加法,同时对相加结果判溢,一旦发生正溢出,则需报告溢出,若发生负溢出,则将结果置为机器零。
(3)尾数相乘
(4)结果规格化:可能需要左规1位
(5)舍入处理:尾数相乘的结果长度是尾数长度的两倍,必须对低位舍入。 ;浮点数的舍入处理:
截断处理
舍入处理:0舍1入法
例3.46 设有5位数(其中有一附加位),用原码或补码表示,舍入后保留4位结果。(采用0舍1入法)
设: [X]原=0.11011 舍入后[X]原=0.1110
[X]原=0.11100 舍入后[X]原=0.1110
[X]补=1.00101 舍入后[X]补=1.0011
[X]补=1.00100 舍入后[X]补=1.0010
舍入后产生了误差,但误差值小于末位的权值。;例3.47 阶码4位(移码),尾数8位(补码,含1符号位),阶码以2为底。运算结果仍取8位尾数。
设:X=2-5·0.1110011, Y=23·(-0.1110010)X,Y为真值,此处阶码用十进制表示,尾数用二进制表示。运算过程中阶码取双符号位。
(1) 求乘积的阶码。乘积的阶码为两数阶码之和。
[EX+EY]移=[EX]移+[EY]补=00011+00011=00110
(2) 尾数相乘。用定点数相乘的办法,
[X·Y]补=1.0011001 1001010 (尾数部分)
(3) 规格化处理。本例尾数已规格化,不需要再处理。如未规格化,需左规。
;(4) 舍入。尾数(乘积)低位部分的最高为1,需要舍入,在乘积高位部分的最低位加1,因此
[X·Y]补=1.0011010 (尾数部分)
(5) 判溢出。阶码未溢出,故结果为正确。
X·Y=2-2·(-0.1100110)
在求乘积的阶码(即两阶码相加)时,有可能产生上溢或下溢的情况;在进行规格化处理时,有可能产生下溢。;例 两浮点数x = 201×0.1101,y = 211×(-0.1010)。假设尾数在计算机中以补码表示,可存储4位尾数,2位保护位,阶码以原码表示,求x+y。;浮点数乘法运算流程;二、浮点乘除运算;(1)0操作数检查
当除数为0,则报告除法出错,或者结果(商)无穷大;当被除数为0,则商为0。
(2)阶码相减
阶码相减的结果也可??溢出,若发生正溢出,则需报告浮点数溢出,若发生负溢出,则将结果置为机器零。
(3)尾数相除
(4)结果规格化
(5)舍入处理 ;浮点数除法运算流程;三、浮点运算器;本章小结;作业;The End !
文档评论(0)