版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成原理3.5 浮点数德浮点数德 运算方法运算方法 3.5.1 浮点加法、减法运算浮点加法、减法运算设有两个浮点数设有两个浮点数和和,它们分别为它们分别为2EM2EM其中其中E和和E分别为数分别为数和和的阶码的阶码,M和和M为数为数和和的尾数。的尾数。两浮点数进行加法和减法的运算规则是两浮点数进行加法和减法的运算规则是 ( (M M2 2E EE E M M)2)2E E,E E 0,表示表示EE;若;若EE。 当当EE 时时,要通过尾数的移动以改变要通过尾数的移动以改变E或或E,使之相等。原则上使之相等。原则上,既既可以通过可以通过M移位以改变移位以改变E来达到来达到EE,也可以通过也
2、可以通过M移位以改变移位以改变E来实现来实现EE。但是。但是,由于浮点表示的数多是规格化的由于浮点表示的数多是规格化的,尾数左移会引起尾数左移会引起最高有效位的丢失最高有效位的丢失,造成很大误差。尾数右移虽引起最低有效位的丢失造成很大误差。尾数右移虽引起最低有效位的丢失,但造但造成误差较小。成误差较小。计算机组成原理 因此因此,对阶操作规定使尾数右移对阶操作规定使尾数右移,尾数右移后阶码作相应增加尾数右移后阶码作相应增加,其数值保持不变。其数值保持不变。显然显然,一个增加后的阶码与另一个阶码相等一个增加后的阶码与另一个阶码相等,增加的阶码的一定是小阶。因此在对阶增加的阶码的一定是小阶。因此在对
3、阶时时,总是使总是使小阶向大阶看齐小阶向大阶看齐,即小阶的尾数向右移位即小阶的尾数向右移位(相当于小数点左移)每右移一位相当于小数点左移)每右移一位,其阶码加其阶码加1,直到两数的阶码相等为止直到两数的阶码相等为止,右移的位数等于阶差右移的位数等于阶差E。(3) 尾数求和运算尾数求和运算 对阶结束后对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法进都按加法进行操作行操作,其方法与定点加减法运算完全一样。其方法与定点加减法运算完全一样。计算机组成原理(4) 结果规格化结果规格化 在浮点加减运算时在浮点加减运算时,尾数求和的结果
4、也可以得到尾数求和的结果也可以得到01.或或10.,即两符号位即两符号位不等不等,这在定点加减法运算中称为溢出这在定点加减法运算中称为溢出,是不允许的。但在浮点运算中是不允许的。但在浮点运算中,它表明尾数它表明尾数求和结果的绝对值大于求和结果的绝对值大于1,向左破坏了规格化。此时将运算结果右移以实现规格化表向左破坏了规格化。此时将运算结果右移以实现规格化表示示,称为称为向右规格化向右规格化。规则是:尾数右移。规则是:尾数右移1位位,阶码加阶码加1。当尾数不是。当尾数不是1.M时需向左规时需向左规格化。格化。计算机组成原理(5) 舍入处理舍入处理 在对阶或向右规格化时在对阶或向右规格化时,尾数要
5、向右移位尾数要向右移位,这样这样,被右移的尾数的低位部分被右移的尾数的低位部分会被丢掉会被丢掉,从而造成一定误差从而造成一定误差,因此要进行因此要进行舍入处理舍入处理。简单的舍入方法有两种:。简单的舍入方法有两种:一种是一种是0舍舍1入入法法,即如果右移时被丢掉数位的最高位为即如果右移时被丢掉数位的最高位为0则舍去则舍去,为为1则将尾数则将尾数的末位加的末位加1。另一种是。另一种是恒置一恒置一法法,即只要数位被移掉即只要数位被移掉,就在尾数的末尾恒置就在尾数的末尾恒置1。计算机组成原理在在IEEE754标准中标准中,舍入处理提供了四种可选方法:舍入处理提供了四种可选方法:就近舍入就近舍入 其实
6、质就是通常所说的其实质就是通常所说的四舍五入四舍五入。例如。例如,尾数超出规定的尾数超出规定的23位的多位的多余位数字是余位数字是10010,多余位的值超过规定的最低有效位值的一半多余位的值超过规定的最低有效位值的一半,故最低有效位应故最低有效位应增增1。若多余的。若多余的5位是位是01111,则简单的截尾即可。对多余的则简单的截尾即可。对多余的5位位10000这种特殊情况:这种特殊情况:若最低有效位现为若最低有效位现为0,则截尾;若最低有效位现为则截尾;若最低有效位现为1,则向上进一位使其变为则向上进一位使其变为 0。计算机组成原理朝朝0舍入舍入 即朝数轴原点方向舍入即朝数轴原点方向舍入,就
7、是简单的截尾。无论尾数是正数还是负数就是简单的截尾。无论尾数是正数还是负数,截尾截尾都使取值的绝对值比原值的绝对值小。这种方法容易导致误差积累。都使取值的绝对值比原值的绝对值小。这种方法容易导致误差积累。朝朝舍入舍入 对正数来说对正数来说,只要多余位不全为只要多余位不全为0则向最低有效位进则向最低有效位进1;对负数来说则是对负数来说则是简单的截尾。简单的截尾。朝朝舍入舍入 处理方法正好与处理方法正好与 朝朝舍入情况相反。对正数来说舍入情况相反。对正数来说,只要多余位不全只要多余位不全为为0则简单截尾则简单截尾;对负数来说对负数来说,向最低有效位进向最低有效位进1。 计算机组成原理(6) 浮点数
8、的溢出浮点数的溢出下图表示了浮点机器数在数轴上的分布情况。下图表示了浮点机器数在数轴上的分布情况。当机器浮点数值大于最大正数当机器浮点数值大于最大正数A值,或小于最小负数值,或小于最小负数B值时,称为值时,称为上溢,上溢,这两种这两种情况意味着阶码运算值超出了它所表示的范围,机器必须做中断处理。情况意味着阶码运算值超出了它所表示的范围,机器必须做中断处理。当机器浮点数值小于最小正数当机器浮点数值小于最小正数a值,或大于最大负数值,或大于最大负数b值时,称为值时,称为下溢下溢。下溢不。下溢不是一个严重问题,通常看作为机器零。是一个严重问题,通常看作为机器零。计算机组成原理 浮点数的溢出是以其阶码
9、溢出表现出来的。在加浮点数的溢出是以其阶码溢出表现出来的。在加减运算过程中要检查是否产生了溢出:减运算过程中要检查是否产生了溢出:若阶码正常若阶码正常,加加(减减)运算正常结束;若阶码溢出运算正常结束;若阶码溢出,则要进行相应处理。另外对尾数的溢出也则要进行相应处理。另外对尾数的溢出也需要处理。需要处理。 阶码上溢阶码上溢 超过了阶码可能表示的最大值的正指数值超过了阶码可能表示的最大值的正指数值,一般将其认为是一般将其认为是和和。 阶码下溢阶码下溢 超过了阶码可能表示的最小值的负指数值超过了阶码可能表示的最小值的负指数值,一般将其认为是一般将其认为是0。 尾数上溢尾数上溢 两个同符号尾数相加产
10、生了最高位向上的进位两个同符号尾数相加产生了最高位向上的进位,将尾数右移将尾数右移,阶码增阶码增1来重新对齐。来重新对齐。 尾数下溢尾数下溢 在将尾数右移时在将尾数右移时,尾数的最低有效位从尾数域右端流出尾数的最低有效位从尾数域右端流出,要进行舍入处理。要进行舍入处理。计算机组成原理例例25 设20100.11011011,2100(0.10101100),求。解解: 为了便于直观理解为了便于直观理解,假设两数均以补码表示假设两数均以补码表示,阶码采用双符号位阶码采用双符号位,尾数采用尾数采用单符号位单符号位,则它们的则它们的浮点表示分别为浮点表示分别为浮浮00 010,0.11011011浮
11、浮00 100,1.01010100 求阶差并对阶EEEE补E补00 01011 10011 110即E为2,的阶码小,应使M右移两位,E加2, 浮00 100,0.00110110(11)其中(11)表示M右移2位后移出的最低两位数。计算机组成原理规格化处理规格化处理 尾数运算结果的符号位与最高数值位同值尾数运算结果的符号位与最高数值位同值,应执行左规处理应执行左规处理,结果为结果为1.00010101(10),阶码为阶码为 00 011。舍入处理舍入处理采用采用0舍舍1入法处理入法处理,则有则有判溢出判溢出 阶码符号位为阶码符号位为00,不溢出不溢出,故得最终结果为故得最终结果为2011
12、(0.11101010) 尾数求和尾数求和计算机组成原理3.5.2 浮点乘法、除法运算浮点乘法、除法运算 1.浮点乘法、除法运算规则浮点乘法、除法运算规则 设有两个浮点数设有两个浮点数和和:2EM2EM浮点乘法运算的规则是浮点乘法运算的规则是 2(EE)(M M) 即乘积的尾数是相乘两数的尾数之积即乘积的尾数是相乘两数的尾数之积,乘积的阶码是相乘两数的阶码之和。当然乘积的阶码是相乘两数的阶码之和。当然,这这里也有规格化与舍入等步骤。里也有规格化与舍入等步骤。计算机组成原理浮点除法运算的规则是浮点除法运算的规则是 2(EE)(M M) 商的尾数是相除两数的尾数之商商的尾数是相除两数的尾数之商,商
13、的阶码是相除两数的阶码之差。也有规格化商的阶码是相除两数的阶码之差。也有规格化和舍入等步骤。和舍入等步骤。2.浮点乘、除法运算步骤浮点乘、除法运算步骤浮点数的乘除运算大体分为四步:浮点数的乘除运算大体分为四步:第一步第一步,0 操作数检查;第二步操作数检查;第二步,阶码加阶码加/减操作;第三步减操作;第三步,尾数乘尾数乘/除操作;第除操作;第四步四步,结果规格化及舍入处理。结果规格化及舍入处理。计算机组成原理(1) 浮点数的阶码运算浮点数的阶码运算对阶码的运算有对阶码的运算有1、1、两阶码求和、两阶码求差四种、两阶码求和、两阶码求差四种,运算时还必须检查结果是运算时还必须检查结果是否溢出。在计
14、算机中否溢出。在计算机中,阶码通常用补码或移码形式表示。补码运算规则和判定溢出的方法阶码通常用补码或移码形式表示。补码运算规则和判定溢出的方法,前面已经讲过。这里只对移码的运算规则和判定溢出的方法进行讲解。前面已经讲过。这里只对移码的运算规则和判定溢出的方法进行讲解。移码的定义为移码的定义为移移2n2n2n按此定义按此定义,则有则有移移移移2n2n 2n(2n() 2n移移计算机组成原理 即直接用移码实现求阶码之和时即直接用移码实现求阶码之和时,结果的最高位多加了个结果的最高位多加了个1,要得到正确的移码形式要得到正确的移码形式结果结果,必须对结果的符号再执行一次求反。必须对结果的符号再执行一
15、次求反。当混合使用移码和补码时当混合使用移码和补码时,考虑到移码和补码的关系:对同一个数值考虑到移码和补码的关系:对同一个数值,其数值位完其数值位完全相同全相同,而符号位正好完全相反。而而符号位正好完全相反。而补补的定义为的定义为 补补2n1则求阶码和用如下方式完成:则求阶码和用如下方式完成:移移补补2n2n1 2n1(2n()即即 移移移移补补(mod 2n1)计算机组成原理同理同理 移移移移补补 上二式表明执行阶码加减时上二式表明执行阶码加减时, ,对加数或减数对加数或减数 来说来说, ,应送移码符号位正常值的反应送移码符号位正常值的反码。码。如果阶码运算的结果溢出如果阶码运算的结果溢出,
16、 ,上述条件则不成立。此时上述条件则不成立。此时, ,使用双符号位的阶码加法使用双符号位的阶码加法器器, ,并规定移码的第二个符号位并规定移码的第二个符号位, ,即最高符号位恒用即最高符号位恒用 0 0 参加加减运算参加加减运算, ,则溢出条件是则溢出条件是结果的最高符号位为结果的最高符号位为1 1。此时。此时, ,当低位符号位为当低位符号位为 0 0时时, ,表明结果上溢表明结果上溢, ,为为1 1时时, ,表明结果表明结果下溢。当最高符号位为下溢。当最高符号位为0 0时时, ,表明没有溢出;低位符号位为表明没有溢出;低位符号位为 1,1,表明结果为正;为表明结果为正;为 0 0 时时, ,表明结果为负。表明结果为负。计算机组成原理例例26 011,110,求求移移 和和 移移,并判断是否溢出。并判断是否溢出。解解:移移01 011, 补补00 110, 补补11 010移移移移补补10 001, 结果上溢。结果上溢。移移移移补补00 101, 结果正确结果正确,为为3。计算机组成原理(2) 尾数处理尾数处理浮点加减法对结果的规格化及舍入处理也适用于浮点乘除法。浮点加减法对结果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SASQ 0003-2023先进质量管理组织培育孵化通则
- 影视传媒公司制片人项目执行KPI考核表
- 媒体编辑工作质量与传播影响力评估表
- 电商供应链管理效率考核表
- T/SATA 064-2023小作坊食品 烘烤类糕点(酥皮类)
- 空气消毒机使用、维护及消毒效果检测考试试题及答案
- 营销与销售团队绩效表
- 闪速炉熔炼工安全生产意识知识考核试卷含答案
- 轧制原料准备工岗前实操能力考核试卷含答案
- 商务旅行安排与预算控制方案
- 中国邮政储蓄银行2027届校园招聘笔试备考试题及答案解析
- 2.7.2 勾股定理的逆定理 课件 -2026-2027学年浙教版数学八年级上册
- 2026年融媒体新闻采编技术应用及理论知识考试题库(附含答案)
- 人工挖孔灌注桩安全技术交底培训
- 2026年安徽省中考英语真题试卷及答案
- 《动物普通病》教案 项目十四 妊娠期疾病
- 六年级上册语文1-8单元基础默写通关练习卷
- 2026年基于数字化手段的幼儿园家园沟通效率提升策略
- DB4403T 508-2024《生产经营单位锂离子电池存储使用安全规范》
- 2024年农业职业经理人知识积累试题及答案
- LY/T 3405-2024竹材弧形原态重组材
评论
0/150
提交评论