版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第一页,共二十七页,编辑于2023年,星期五第6章计算机的运算方法(6)Floating-pointcomputationinacomputercanrunintothreekindsofproblems:Anoperationcanbemathematicallyillegal,suchasdivisionbyzero.Anoperationcanbelegalinprinciple,butnotsupportedbythespecificformat,forexample,calculatingthesquarerootof−1ortheinversesineof2(bothofwhichresultincomplexnumbers).Anoperationcanbelegalinprinciple,buttheresultcanbeimpossibletorepresentinthespecifiedformat,becausetheexponentistoolargeortoosmalltoencodeintheexponentfield.Suchaneventiscalledanoverflow(exponenttoolarge)orunderflow(exponenttoosmall).2第二页,共二十七页,编辑于2023年,星期五§6.4浮点四则运算Floating-PointArithmetic浮点加减法运算浮点乘法运算Floating-PointMultiplicationFloating-PointAddition&Subtraction浮点除法运算Floating-PointDivision3第三页,共二十七页,编辑于2023年,星期五浮点运算Floating-PointArithmetic浮点运算要把阶码和尾数分别处理。阶码的运算是定点整数运算,对阶码的运算有四种:阶码加1,阶码减1,两阶码求和,两阶码求差。尾数的运算是定点小数运算。运算过程中一般取双符号位。浮点运算器总是由处理阶码和处理尾数的两部分组成。Floating-pointrepresentationissimilarinconcepttoscientificnotation.Thewayinwhichthesignificand,exponentandsignbitsareinternallystoredonacomputerisimplementation-dependent.4第四页,共二十七页,编辑于2023年,星期五浮点数的溢出Overflow当一个数的大小超出了浮点数的表示范围时,机器无法表示该数,就发生溢出。浮点数的溢出判断方法与定点数不同,是对规格化数的阶码Exponent进行判断。当浮点数的阶码大于机器所能表示的最大阶码时(即阶码发生正溢出),称为溢出或上溢,此时机器应停止运算,进行出错中断处理。当浮点数的阶码小于机器所能表示的最小阶码时(即阶码发生负溢出),称为下溢。这时一般规定把该浮点数的尾数强迫置零,作为零处理,机器可继续运行。当一个浮点数的尾数为0,不论其阶码为何值,或者阶码的值小于等于它能表示的最小数值(下溢)时,不论其尾数为何值,计算机都把该浮点数看成零值,称为机器零。浮点数的尾数运算的溢出可以通过右规消除。5第五页,共二十七页,编辑于2023年,星期五浮点加减法运算Floating-PointAddition&Subtraction设有两个规格化浮点数X=MX·2Ex, Y=MY·2Ey若两数的阶码相等,即EX=EY,有X+Y=将两浮点数的尾数相加,就可得到浮点形式的和。一般情况下,EX≠EY,计算X+Y要用如下五个步骤来完成:①对阶②尾数相加③规格化④舍入⑤检查阶码是否溢出。1、浮点加法运算Floating-PointAdditionMX·2Ex+MY·2Ey=(MX+MY)·2Ex6第六页,共二十七页,编辑于2023年,星期五(1)对阶Alignment两数相加,必须使小数点对齐。对于浮点数来说,就是使阶码相等。使阶码相等的过程称为对阶。对阶的原则是:小的阶码向大阶码看齐。对阶操作,首先比较两数的阶码值的大小,即求ΔE=EX-EY,并保留其最大值E=MAX(EX,EY)作为和的阶码。当ΔE≠0时,将阶码小的数的尾数右移|ΔE|位。尾数每右移一次将阶码加1,直至ΔE=0。为了减少误差,可用附加线路(Guardbits保留位)保留右移出的1位或几位的高位,在以后的舍入操作时用。(2)尾数相加AddtheSignificands(Mantissa)完成对阶后,将两浮点数的尾数部分相加,方法与定点小数加法相同。7第七页,共二十七页,编辑于2023年,星期五(3)规格化处理NormalizetheResult当运算结果的尾数部分不是规格化数(即不是00.1×…×或11.0×…×的形式)时,必须进行规格化处理。规格化处理的规则:①若结果尾数的两个符号位不同(01或10),表明尾数运算结果溢出,应进行右规。将结果尾数右移一位,并将阶码的值加1。②若尾数的运算结果不溢出,但最高数值位与符号位同值(即11.1或00.0),则应进行左规。将尾数连同符号位一起左移一位,并将和的阶码减1,如此反复直至尾数最高数值位与符号位不同为止。8第八页,共二十七页,编辑于2023年,星期五(4)舍入操作Round在进行对阶或右规操作时,尾数低位的一位或几位数值被移出。如果采用“截断法”把移出的数位丢掉,会影响数值的精度。因此,可采用舍入法来减少误差。①“0”舍“1”入法当移出部分的最高位为1时在尾数末位加1,为0时则舍去移出的数值。此方法的最大误差为2-(n+1)。“0”舍“1”入法由于有舍有入,舍入机会均等,有利于减少误差积累。但对末位加1的操作可能引起一连串的进位而使尾数溢出,此时还要再做一次右规。②末位恒置1法无论右移丢失的是何数值,一律将结果的末位置1。把尾数最低位的0置成1,对于正数,是使其值变大,对于负数补码和反码,则使其值变小。而舍入前尾数最低位已经是1时,再置1无实际效用,与截断法无异。9第九页,共二十七页,编辑于2023年,星期五(5)检查阶码是否溢出ChecktheExponentOverfloworUnderflow若阶码正常,加减运算正常结束;若阶码下溢,要置运算结果为浮点形式的机器零;若阶码上溢,则置溢出标志。【例1】浮点数的阶码为4位补码,尾数为9位补码。X=0.11011011×2010,Y=(-0.10101100)×2100,求X+Y=?Roundingisusedwhentheexactresultofafloating-pointoperation(oraconversiontofloating-pointformat)wouldneedmoredigitsthantherearedigitsinthesignificand.Thereareseveraldifferentroundingschemes(orroundingmodes).10第十页,共二十七页,编辑于2023年,星期五[例1]浮点数的阶码为4位补码,尾数为9位补码。求X+Y=?X=0.11011011×2010,Y=(-0.10101100)×2100,解:[EX]补=0010,[EY]补=0100,[-EY]补=1100[MX]补=0.11011011,[MY]补=1.01010100①对阶[ΔE]补=[EX]补-[EY]补=[EX]补+[-EY]补=00010+11100=11110即ΔE=-2。由于X的阶码小,应使MX右移两位,EX加2,[EX+Y]补=[EY]补=00100[MX]补=00.0011011011②尾数相加00.00110110+)11.0101010011.10001010[MX+Y]补=[MX]补+[MY]补=00.0011011011+11.01010100=11.100010101100010+
111001111011第十一页,共二十七页,编辑于2023年,星期五③规格化处理结果的符号位与最高数值位同值,应进行左规。尾数左移1位,阶码减1。[MX+Y]补=11.0001010110,[EX+Y]补=00011④舍入处理采用0舍1入法,[MX+Y]补=11.00010110⑤判断溢出补码表示的阶码的符号位为00,不溢出。结果:[MX+Y]补=1.00010110,[EX+Y]补=0011X+Y=(-0.11101010)×2011[例1]浮点数的阶码为4位补码,尾数为9位补码。求X+Y=?12第十二页,共二十七页,编辑于2023年,星期五2、浮点数减法Floating-PointSubtraction①对阶,②尾数相减,③规格化,④舍入,⑤检查阶码是否溢出。浮点数减法运算的步骤:Thefactthatfloating-pointnumberscannotfaithfullymimictherealnumbers,andthatfloating-pointoperationscannotfaithfullymimictruearithmeticoperations,leadstomanysurprisingsituations.Thisisrelatedtothefiniteprecisionwithwhichcomputersgenerallyrepresentnumbers.13第十三页,共二十七页,编辑于2023年,星期五浮点乘法运算Floating-PointMultiplication两浮点数相乘,乘积的尾数为相乘两数的尾数之积,阶码为两数的阶码之和。即X·Y=浮点乘法运算可分为四个步骤:①阶码相加②尾数相乘③规格化和舍入处理④判断溢出(MX·2Ex)·(MY·2Ey)=(MX·MY)·2Ex+Ey规格化浮点数X=MX·2Ex, Y=MY·2EyTomultiply,thesignificandsaremultipliedwhiletheexponentsareadded,andtheresultisroundedandnormalized.14第十四页,共二十七页,编辑于2023年,星期五①阶码相加AddExponent乘数和被乘数的阶码按定点整数补码或移码加法的规则相加,得到乘积的阶码。②尾数相乘MultiplySignificands(Mantissa)乘数和被乘数的尾数按定点小数(原码或补码)乘法运算的方法相乘,得到乘积的尾数。③规格化和舍入处理Normalizing&Round规格化和舍入方法与浮点加减法处理的方法相同。但两个数值位是m位的数相乘,乘积的数值位为2m位。舍入处理后,尾数只保留m个数值位。一般情况下,两个规格化数相乘,尾数最多左规一次,因为两个纯小数相乘是不会溢出的。但是有一个特例,当尾数做补码乘法的时候,如果乘数和被乘数尾数的值都是-1,则乘积的尾数的值是+1,此时需要做一次右规。第十五页,共二十七页,编辑于2023年,星期五④判断溢出ChecktheExponentOverflowor
Underflow
检查阶码是否溢出。若阶码正常,加减运算正常结束;若阶码下溢,要置运算结果为浮点形式的机器零;若阶码上溢,则置溢出标志。Floating-pointarithmeticisatitsbestwhenitissimplybeingusedtomeasurereal-worldquantitiesoverawiderangeofscales(suchastheorbitalperiodofIoorthemassoftheproton),andatitsworstwhenitisexpectedtomodeltheinteractionsofquantitiesexpressedasdecimalstringsthatareexpectedtobeexact.Anexampleofthelattercaseisfinancialcalculations.Forthisreason,financialsoftwaretendsnottouseabinaryfloating-pointnumberrepresentation.16第十六页,共二十七页,编辑于2023年,星期五【例2】浮点数,阶码为4位移码(含1符号位),尾数为8位补码(含1符号位),阶码以2为底。X=0.1110011×2-101,Y=(-0.1110010)×2011,求X*Y=?解:[MX]补=[MY]补=①阶码相加[EX+EY]移=[EX]移=0.1110011=000110011[EY]移=1.0001110=01011101100110=00011+00011=[EX]移+[EY]补[EX]补=[EY]补=1011001100011+000110011017第十七页,共二十七页,编辑于2023年,星期五[例2]浮点数,阶码为4位移码(含1符号位),尾数为8位补码(含1符号位),阶码以2为底。②尾数相乘③规格化和舍入处理④判断溢出[MX]补×[MY]补=已经是规格化数。[MX*Y]补=1.0011010移码表示的阶码为00,未溢出。X·Y=采用0舍1入法,将低n位舍去。1.001100110010100.1110011×1.0001110=[EX*Y]移=00110X=0.1110011×2-101,Y=(-0.1110010)×2011,求X*Y=?[MX]补=0.1110011[MY]补=1.0001110[EX*Y]移=00110×2(-0.1100110)—010第十八页,共二十七页,编辑于2023年,星期五浮点除法运算Floating-PointDivision除了除数不能为0外,浮点除法对除数和被除数的大小没有限制。两浮点数相除,商的尾数部分是被除数的尾数除以除数的尾数所得的商,阶码部分是被除数的阶码减去除数的阶码所得的差。X÷Y=浮点除法运算分以下五个步骤:①尾数调整②阶码求差③尾数相除④规格化⑤判断溢出(MX·2Ex)÷(MY·2Ey)=(MX÷MY)·2Ex-Ey19第十九页,共二十七页,编辑于2023年,星期五①尾数调整DividendAlignment检查|MX|是否小于|MY|。若|MX|≥|MY|,则将MX右移一位并将阶码加1。②阶码求差SubtractExponent被除数的阶码减去除数的阶码得到商的阶码(按定点整数补码或移码减法的规则)。③尾数相除DivideSignificands(Mantissa)两数的尾数按定点小数(原码或补码)除法的规则相除。20第二十页,共二十七页,编辑于2023年,星期五⑤判断溢出检查阶码是否溢出。④规格化NormalizetheResult由于除数和被除数都是规格化数并经过尾数的调整,所以,尾数相除的结果一般是规格化定点小数。只有一个例外,当补码表示的商为-0.5时,必须做一次左规。IntheIEEE754standard,zeroissigned,meaningthatthereexistbotha"positivezero"(+0)anda"negativezero"(-0).Inmostrun-timeenvironments,positivezeroisusuallyprintedas"0",whilenegativezeromaybeprintedas"-0".Thetwovaluesbehaveasequalinnumericalcomparisons,butsomeoperationsreturndifferentresultsfor+0and−0.21第二十一页,共二十七页,编辑于2023年,星期五[例3]设浮点数基数为2,阶码为4位补码,尾数为5位原码(均包含1个符号位)。X=+6.5,Y=—2.25。(1)写出X和Y的规格化浮点机器数。(2)计算X÷Y(尾数运算用补码加减交替除法)解:X=(+6.5)10=(+110.1)2=+0.1101×2+011Y=(-2.25)10=(-10.01)2=-0.1001×2+010[EX]补=0011[EY]补=0010[MX]原=0.1101[MY]原=1.1001设浮点数格式为:尾符尾数阶码12569浮点机器数:[X]浮点=000111101[Y]浮点=100101001(1)写出X和Y的规格化浮点机器数。第二十二页,共二十七页,编辑于2023年,星期五(2)计算X÷Y(尾数运算用补码加减交替除法)[MX]补=①尾数调整②阶码求差③尾数相除∵|MX|>|MY|[MX]补=[-EY]补=[EX]补—[EY]补=00100+11110[MY]补=1.0111[EX]补=0011[EY]补=0010[MX]原=0.1101[MY]原=1.10010.1101[MY]补=1.0111[-MY]补=∴需进行尾数调整,将MX右移1位,EX加1。[EX]补==00100+11110=[EX]补+[-EY]补000100.01101=0.011101001110000100.10010舍1入第二十三页,共二十七页,编辑于2023年,星期五被除数/余数00.0111商0.0000X,Y异号[R]补与[Y]补同号,商上1末位商置1[R]补与[Y]补异号,商上0[R]补与[Y]补同号,商上1[R]补与[Y]补异号,商上01.001111.1011左移11.00101.00111.10010.1001左移00.00100.10000.00010.0100加[MY]补11.0111左移00.10100.01000.01010.0010加[-MY]补00.1001左移11.11000.00111.11100.0001加[MY]补11.0111[MY]补=1.0111加[MY]补11.0111加[-MY]补00.1001第二十四页,共二十七页,编辑于2023年,星期五④规格化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代销食品协议书
- 平房翻盖施工方案(3篇)
- 逆向物流管理机制-洞察及研究
- 驾校促销活动策划方案(3篇)
- 2025年区块链技术供应链金融风控体系构建报告
- 渔光互补工程桩基施工方案
- 合同履行情况与售后保障承诺书(7篇)
- 轨道交通施工精调技术方案范文
- 高一英语必修一Unit5词汇默写训练
- 企业品牌推广计划与执行方案
- 康复治疗技术职业生涯规划
- 2025年保密知识考试试题库教育考试试题库与答案
- 心脏超声十六节段分析规范
- 美容洗脚卫生管理制度
- 校园井盖安全管理制度
- 2025春季学期国开电大专科《EXCEL在财务中的应用》一平台在线形考形考作业(一至四)试题及答案
- 混合型高脂血症基层诊疗中国专家共识(2024年)解读课件
- 消防设施保养与维修培训
- 市政道路设计技术标投标方案(技术方案)
- 高教社马工程伦理学(第二版)教学课件11
- 2024-2025学年成都市高一上英语期末考试题(含答案和音频)
评论
0/150
提交评论