计算机组成原理第二章_第1页
计算机组成原理第二章_第2页
计算机组成原理第二章_第3页
计算机组成原理第二章_第4页
计算机组成原理第二章_第5页
已阅读5页,还剩150页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第二章第二章 运算方法和运算器运算方法和运算器 2.1 序序 2.2 定点加减运算定点加减运算 2.3 定点乘法运算定点乘法运算 2.4 定点除法运算定点除法运算 2.5 浮点运算浮点运算 22.1 序序为什么要开展运算方法研究?为什么要开展运算方法研究?l将一个实际数用机器数(原码、补码、反将一个实际数用机器数(原码、补码、反码)表示,必然会产生机器本身特有的运码)表示,必然会产生机器本身特有的运算规则;算规则;l计算机特定的运算方式:定点运算和浮点计算机特定的运算方式:定点运算和浮点运算;运算;l运算方法不同,运算器的结构也不同;运算方法不同,运算器的结构也不同;l通常计算机中只设加法器

2、,如何实现通常计算机中只设加法器,如何实现 、 、 、 四则运算呢?四则运算呢?32.1.1 一个实际数机内表示所面临一个实际数机内表示所面临的问题的问题l将一个数(连同符号)在机器中的数值将一个数(连同符号)在机器中的数值化表示称为化表示称为机器数机器数l将原来的数值称为将原来的数值称为机器数的真值机器数的真值l一个实际数,如一个实际数,如 8.75,在机内表示所,在机内表示所面临的问题是什么?面临的问题是什么?l要解决三个问题:要解决三个问题:数符数符、数码数码和和小数点小数点41、符号的处理、符号的处理 l途径只有一条:符号途径只有一条:符号数码化数码化l“0”:代表正号,:代表正号,“

3、1”:代表负号:代表负号l这种表示源于定义这种表示源于定义 l以原码表示说明,原码定义为:以原码表示说明,原码定义为:1X0 X-10X1 XX原5例:例:X = + 0.1101,Y = 0.1101l原码采用原码采用符号符号+绝对值绝对值表示:表示: X原原 = 0 + |+ 0.1101| = 0.1101 Y原原 = 1 + | 0.1101| = 1.1101l如果从如果从定义定义出发,则:出发,则: 若若X = + 0.1101,1X 0, 则则X原原= 0.1101 若若Y = 0.1101,0 Y-1, 则则Y原原= 1 ( 0.1101) = 1.110162、数码的处理、数

4、码的处理l采用二进制数表示采用二进制数表示l在电子线路中,如果在电子线路中,如果低电平表示低电平表示0,高电平表示高电平表示1,则计算机中的每一,则计算机中的每一位(逻辑实现单元)只允许用位(逻辑实现单元)只允许用0和和1表示,于是采用了二进制表示,这表示,于是采用了二进制表示,这是一个很自然的想法。是一个很自然的想法。7(1) 采用二进制数表示采用二进制数表示 在二进制数表示中只包含两个特殊的在二进制数表示中只包含两个特殊的元素:元素:0和和1l在在命题逻辑命题逻辑中,中,0、1可以代表一个事可以代表一个事件的不成立和成立件的不成立和成立l在在符号逻辑符号逻辑中,中,0、1可以代表伪和真可以

5、代表伪和真l在在数字逻辑数字逻辑中,中,0、1可以反映数字电可以反映数字电路的两个稳定状态路的两个稳定状态8(1) 采用二进制数表示采用二进制数表示 l二进制表示数目的效率太低,表示一二进制表示数目的效率太低,表示一个较大数字时,书写冗长个较大数字时,书写冗长 例:用例:用8位二进制数才能表示位二进制数才能表示255,即,即 (11111111)2 = 25510l解决的办法:采用组合二进制数解决的办法:采用组合二进制数9(2) 组合二进制数组合二进制数八、八、十六进制数十六进制数 l从最低有效位开始,从最低有效位开始,三位一划分三位一划分组成组成八进制数,八进制数,四位一划分四位一划分组成十

6、六进制组成十六进制数。如:数。如: 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 6571 Q 1 1 0 1 0 1 1 1 1 0 0 1 D79 Hl二、八、十六进制在机器中无区别二、八、十六进制在机器中无区别 10采用八进制还是十六进制?采用八进制还是十六进制?l人为选择问题,计算机字长也能影响人为选择问题,计算机字长也能影响这种选择。这种选择。l字长能被字长能被3整除的选用整除的选用8进制,字长能进制,字长能被被4整除选用十六进制表示。例如:整除选用十六进制表示。例如:早期小型机一般字长早期小型机一般字长16位,除去位,除去1位符位符

7、号位,结果号位,结果15能被能被3整除,采用整除,采用8进制进制.早期微型机,如早期微型机,如Intel 4004,只有,只有4位,位,采用无符号数表示,采用无符号数表示,4能被能被4整除,故整除,故采用十六进制数表示。采用十六进制数表示。11(3) 采用采用ASCII表示数字表示数字 计算机输入的是计算机输入的是ASCII码,输出的也是码,输出的也是ASCII码,那么能够直接用码,那么能够直接用ASCII码来码来表示数字吗?表示数字吗?l需要更多的存储空间,例如:需要更多的存储空间,例如: 1 000 000 000(10亿)亿) ASCII码码: 10 8(位)(位) 二进制(字长二进制(

8、字长32位):位):32(位)(位)l硬件在做算术运算时,要复杂得多硬件在做算术运算时,要复杂得多 12(4) BCD码码 在某些应用中,用二进制表示并不适合,在某些应用中,用二进制表示并不适合,例如:例如:数字钟数字钟l输出必须表示为十进制数输出必须表示为十进制数l内部可以采用二进制计时内部可以采用二进制计时l输出时,二进制转换成十进制数输出时,二进制转换成十进制数更好的存储格式是十进制数序列更好的存储格式是十进制数序列十进制的每一位用等价的二进制数表示十进制的每一位用等价的二进制数表示13 BCD码(码(Binary Coded Decimal,以二进制编码的十进制):以二进制编码的十进制

9、): 用用4位二进制数表示一个十进制数位二进制数表示一个十进制数l采用采用BCD码表示十进制码表示十进制lBCD码与码与ASCII码的低码的低4位相同,转换位相同,转换方便方便l十进制数取值范围为十进制数取值范围为09,在,在BCD码码中,不采用大于中,不采用大于1001的的4位二进制数位二进制数(10101111)使用使用BCD码的代价码的代价143、小数点处理、小数点处理l小数点可否数码化?小数点可否数码化?l如,一个二进制数列如,一个二进制数列10110101l显然不行,无法与数值位相区别显然不行,无法与数值位相区别15任何一个二进制数任何一个二进制数N均可以表示为:均可以表示为:N=2

10、E (ms.m1m2mn)l当当E=0,则,则N= ms.m1m2mn 即表示即表示定点小数定点小数,小数点固定在左端,小数点固定在左端16l当当E=n,则,则N= msm1m2mn 即表示即表示定点整数定点整数,小数点固定在最右,小数点固定在最右端端l当当E=k,nk1,k为一个变量,小数为一个变量,小数点是浮动的,即点是浮动的,即浮点数浮点数表示表示172.1.2 运算方法讨论的出发点运算方法讨论的出发点l基于一个什么样的观点来讨论机器数基于一个什么样的观点来讨论机器数的运算方法呢?的运算方法呢?l是否要对所提供的机器数,不分原码、是否要对所提供的机器数,不分原码、补码、反码,统统讨论一番

11、呢?补码、反码,统统讨论一番呢?l回答是:回答是:不必不必l目前几乎所有的计算机都采用了目前几乎所有的计算机都采用了补码补码运算,原因何在?运算,原因何在? 18 有符号数,既要表示有符号数,既要表示正数正数,又要表示,又要表示负数负数,通常有三种系统:,通常有三种系统: 符号符号绝对值法,即绝对值法,即原码原码; 2的补码表示法,即的补码表示法,即补码补码; 1的补码表示法,即的补码表示法,即反码反码。l从定义知,三种表示法中,从定义知,三种表示法中,正数正数表示表示法相同,即法相同,即X原原=X补补=X反反= Xl而而负数负数却有不同的表示法却有不同的表示法191、符号、符号绝对值法绝对值

12、法 (原码)(原码)符号:最高位,符号:最高位,“0”表正,表正,“1”表负表负数值部分:二进制的绝对值数值部分:二进制的绝对值l比较直观比较直观l存在两个存在两个“0”,且有,且有“+0”和和“0”之之分分 +0原原=000,0原原=100 l符号是人为规定的,不能参与运算符号是人为规定的,不能参与运算20例:例:1000+(1011)=0011(3)若采用原码若采用原码(符号符号1位位),其计算结果为:,其计算结果为:结果为结果为00011(+3) 由于这些不足,限制了它的使用,很由于这些不足,限制了它的使用,很快就无人使用原码来表示有符号数了快就无人使用原码来表示有符号数了 0 1000

13、+ 1 10110 0011212、2的补码(补码)的补码(补码) 为什么叫为什么叫“2的补码的补码”?l一个一个n位的二进制数位的二进制数X(不管(不管X为任意为任意值),值),+X补补+X补补 2n,例如:,例如: +2补补+2补补=0010+1110=10000 (24) +3补补+3补补=0011+1101=10000 (24)22一个好的数字表示系统需满足:一个好的数字表示系统需满足:l对称性:对称性:(+x)+( x)=0;l满足符号定义规则:满足符号定义规则:“0”表正,表正,“1”表负;表负;l满足借位关系;满足借位关系;l“0”的表示应该是唯一的;的表示应该是唯一的;l有符号

14、与无符号数要采用一种编码方法,有符号与无符号数要采用一种编码方法,否则计算机难于处理;否则计算机难于处理;l要求符号参加运算,避免单独处理;要求符号参加运算,避免单独处理;l数值位易扩展;数值位易扩展;l由于早期计算机只设加法器,要求减法转由于早期计算机只设加法器,要求减法转换成加法的过程简单,易于实现。换成加法的过程简单,易于实现。 23(1) 满足对称性(对称性稍差)满足对称性(对称性稍差)b3b2b1b0 十进制数十进制数 2的补码的补码 编码方向编码方向 00000001001000110100010101100111 01234567 01234567 100010011010101

15、11100110111101111 89101112131415 -8-7-6-5-4-3-2-1 24(2) 满足符号定义规则满足符号定义规则 最高位最高位b3恰好表示补码的符号恰好表示补码的符号 b3=0时为正;时为正;b3=1时为负。时为负。(3) 满足借位关系满足借位关系 如:如:24 = 2,用补码计算如下:,用补码计算如下:0010 (2)- 0100 (4)1110 (-2)25(4) “0”的表示是唯一的的表示是唯一的 只有一个只有一个0,+0补补=0补补=0 (5) 有符号与无符号数可采用一种编码有符号与无符号数可采用一种编码方法方法l上表中,上表中,16种编码可作为无符号数

16、种编码可作为无符号数处理;换一种解释方式处理;换一种解释方式(2的补码的补码),既能表示正数,又能表示负数。既能表示正数,又能表示负数。l有符号数和无符号数均可用补码表有符号数和无符号数均可用补码表示。示。 26(6) 符号可参加运算符号可参加运算l若任意两个补码数相加、减,其结若任意两个补码数相加、减,其结果不超出值域范围(果不超出值域范围(+7 -8),结),结果一定是正确的果一定是正确的(7) 易于数值位扩展易于数值位扩展 l正数扩展时,高位部分填正数扩展时,高位部分填0即可即可l负数的扩展又应如何进行呢?负数的扩展又应如何进行呢?l计算机在扩展时,只需将其计算机在扩展时,只需将其符号位

17、符号位简单地复制到高位简单地复制到高位27例:例:lDATA(8位位)=0110 1011 ,位扩展后,位扩展后DATA(16位位)=0000 0000 0110 1011;lDATA(8位位)=1011 1011,位扩展后,位扩展后DATA(16位位)=1111 1111 1011 1011;(8) 减法转换成加法十分简单减法转换成加法十分简单 XY补补= X+(Y)补补=X补补+Y补补 Y补补= Y补补+1 (或(或+2-n)Y补补的的机器负数机器负数28补码表示补码表示与与机器负数机器负数的区别:的区别:例例. 1 0101. 1 0101原原 1 10111 1011补码表示补码表示1

18、 00111 0011补补 0 11010 1101机器负数机器负数 0 01010 0101原原 0 01010 0101补码表示补码表示符号位不变;符号位不变;负数尾数改变,负数尾数改变,正数尾数不变。正数尾数不变。0 00110 0011补补 1 11011 1101符号位改变,符号位改变,尾数改变。尾数改变。机器负数机器负数293、1的补码(反码)的补码(反码)l为什么叫为什么叫“1的补码的补码”? 因为:因为:l对称性好:从对称性好:从+0与与0到到+7与与7完全对称完全对称l生成十分容易生成十分容易l有有+0反反与与0反反之分之分l需要加权操作:当运算结果有进位时,需要加权操作:当

19、运算结果有进位时,运算结果的末位需要加运算结果的末位需要加1操作操作1XX302.1.3 机器中如何得到二进制补码机器中如何得到二进制补码l整个寄存器被整个寄存器被占满占满当当X 0时,用时,用X补补=X填充填充当当X0,则,则 X补补=X0.X1X2Xn , Y补补=0.Y1Y2Yn=Yl若若X0,与无符号数乘法操作相同;,与无符号数乘法操作相同; l若若X0,则,则 X补补=2+X=2n+1+X (mod 2) 82于是:于是:X补补Y补补=(2n+1+X)Y=2n+1(0.Y1Y2Yn)+ XY=2n+1 + XY=2 + XY 1的正整数,的正整数,2 2 (mod 2) niin-i

20、1Y2niii12Yniin-i1Y2niin-i1Y283则有,则有,X补补Y补补=2+ XY=XY补补或写成:或写成:XY补补=X补补(0.Y1Y2Yn)84(2) 被乘数被乘数X符号任意,符号任意,Y0,则,则 X补补=X0.X1X2Xn, Y补补=1.Y1Y2Yn根据补码定义规则,若根据补码定义规则,若Y0):商上:商上1,Ri+1=2Ri-Y;不够减不够减(Ri0):商上:商上0,恢复余数,恢复余数(Ri+Y),左移一位左移一位(2(Ri+Y),做减法,做减法(2(Ri+Y)-Y)。 即:即:Ri0,写回;当,写回;当Ri0时同样的操作,时同样的操作,2Ri-Y即可。即可。l计算机算

21、法不是一个单纯的求解过程,计算机算法不是一个单纯的求解过程,要与机器的实现结合起来。要与机器的实现结合起来。1153、补码加减交替法、补码加减交替法l除法过程分为:比较、上商、求新余数除法过程分为:比较、上商、求新余数l符号参加运算涉及:上商符、商的校正符号参加运算涉及:上商符、商的校正 (1) 比较与上商比较与上商l运算中既存在两个数同号比较,也存在运算中既存在两个数同号比较,也存在两个数异号比较两个数异号比较l就上商而言,两个数的比较应该是就上商而言,两个数的比较应该是绝对绝对值值比较比较l被除数与除数被除数与除数的比较过渡到的比较过渡到余数和除数余数和除数的比较的比较116比较比较上上商

22、商求新余数求新余数X补补Y补补符号符号 商商符符比较比较操作操作 R补补Y补补符号符号 上上商商求新余数求新余数Ri+1同号同号0 X补补 Y补补同号同号(够减够减)1Ri+1补补=2Ri补补 Y补补 异号异号(不够减不够减)0Ri+1补补=2(Ri补补+Y补补) Y补补=2Ri补补+Y补补 异号异号 1 X补补+Y补补同号同号(不够减不够减)1Ri+1补补=2(Ri补补 Y补补) +Y补补=2Ri补补 Y补补 异号异号(够减够减)0Ri+1补补=2Ri补补+Y补补 117讨论:讨论:如何进行比较操作呢?如何进行比较操作呢?l随着除法的进行,余数的绝对值将越来随着除法的进行,余数的绝对值将越来

23、越小。越小。若两个数同号,需要做减法;若两个数同号,需要做减法;若两个数异号,需要做加法。若两个数异号,需要做加法。l最终使余数的绝对值越来越小。最终使余数的绝对值越来越小。 118如何上商呢?如何上商呢?l作为补码商作为补码商若为若为正商正商,够减商上,够减商上1,不够减商上,不够减商上0;若为若为负商负商,商值(不包括符号)除最末,商值(不包括符号)除最末一个一个1与所上商值相同外,其余要与所与所上商值相同外,其余要与所上商值相反。上商值相反。l上商值的过程存在歧义性。上商值的过程存在歧义性。l考虑到,一个数的补码与反码只有最末考虑到,一个数的补码与反码只有最末位相差位相差1。l通常做法是

24、上通常做法是上反码商反码商,最后修正,使其,最后修正,使其得到补码商。得到补码商。 119第一组:符号相同除法例第一组:符号相同除法例同号同号 同号同号 同号同号 异号异号 余数与除数同号,够减,上商值余数与除数同号,够减,上商值1 余数与除数异号,不够减,上商值余数与除数异号,不够减,上商值 0157)1270512)712120第二组:符号相异除法例第二组:符号相异除法例异号异号 异号异号 异号异号 同号同号 余数与除数异号,够减,商上余数与除数异号,够减,商上0(反码商,(反码商, 商为商为1时上时上0) 余数与除数同号,不够减,商上余数与除数同号,不够减,商上1(反码商,(反码商, 商

25、为商为0时上时上1) 157127)0512712)121(2)下一步操作(下一步操作(Ri+1) X补补与与Y补补同号,做减法同号,做减法l够减:够减:Ri+1补补=2Ri补补 Y补补l不够减:不够减:Ri+1补补=2(Ri补补+Y补补) Y补补 =2Ri补补+Y补补 X补补与与Y补补异号,做加法异号,做加法l够减:够减:Ri+1补补=2Ri补补+Y补补l不够减:不够减:Ri+1补补=2(Ri补补 Y补补)+Y补补 =2Ri补补 Y补补122前表,删除前表,删除R补补与与Y补补符号一栏符号一栏中的中的“够减够减”、“不够减不够减”项,项,得:得:比较比较上商上商下一步操作下一步操作R补补、Y

26、补补符号符号 上商上商 下一步操作(下一步操作(Ri+1) 同号同号 1 ,+ Y补补 异号异号0 ,+Y补补 11123(3)上商符上商符 第一步第一步X补补 Y补补l若若X补补与与Y补补同号,同号,X补补 Y补补l若若X补补与与Y补补异号,异号,X补补+Y补补这样上的商为这样上的商为正确的商符正确的商符。 将被除数作为余数将被除数作为余数R0处理处理l若若R0补补与与Y补补同号,上商符同号,上商符1l若若R0补补与与Y补补异号,上商符异号,上商符0这样上的商符与正确值相反,为这样上的商符与正确值相反,为假商符假商符,通过求反加以校正。通过求反加以校正。124(4) 商的校正商的校正l考虑到

27、除法求得的商值考虑到除法求得的商值(若除不尽若除不尽)总总是近似的,其误差为是近似的,其误差为2-nl在硬件线路上一般采用在硬件线路上一般采用“末位恒置末位恒置1”的办法,使线路得以简化,其误差在的办法,使线路得以简化,其误差在允许的范围内允许的范围内对第对第种上商符号方案:采用末位恒种上商符号方案:采用末位恒置置1,即,即加加2-n修正修正;对第对第种上商符号方案:假商种上商符号方案:假商加加(1+2-n),获得校正后的真商。,获得校正后的真商。 125(5) 关于余数的符号关于余数的符号要注意的是,必须始终遵循如下等式要注意的是,必须始终遵循如下等式被除数被除数=商商 除数除数+余数余数

28、被除数为被除数为 7,除数为,除数为 2的各种组合情况:的各种组合情况:l(+7) (+2) 商商= +3,余数,余数= +1 验算一下:验算一下:7=3 2+(+1)=6+1 126l(-7) (+2) 商商= -3,求余数:,求余数: 余数余数=(被除数被除数 商商 除数除数) = -7-(-3) (+2)= -7-(-6)= -1 (-7) (+2):商:商= -3,余数,余数= -1 验算一下:验算一下:-7= -3 2+(-1)= -6-1 商商=-4,余数,余数=+1,也满足除法基本等式,也满足除法基本等式,为什么不能将它们作为最终的结果呢?为什么不能将它们作为最终的结果呢?127

29、l因为如此一来,商的绝对值会随着因为如此一来,商的绝对值会随着 被除数和除数的符号的不同而不同。被除数和除数的符号的不同而不同。 导致:导致: (X Y) ( X) Y l规定:无论除数和商的符号如何,规定:无论除数和商的符号如何,余数余数的符号都必须与的符号都必须与被除数被除数的符号一致。的符号一致。 l另外两种情况:另外两种情况: (+7) (-2):商:商= -3,余数,余数= +1 (-7) (+2):商:商= +3,余数,余数= -1128+00.100011.0110 X与与Y异号,异号,+Y补补 11.11101R与与Y同号,商上同号,商上1+11.110000.1010 1+-

30、Y补补+00.011000.110011.0110 1100R与与Y异号异号,商上,商上0+Y补补 11?0.10100.1000YX例:求例:求 X补补=00.1000,Y补补=11.0110, -Y补补=00.1010(1) 采用第采用第种上商符号方案种上商符号方案129+00.001000.010011.0110110000R与与Y异号异号,商上,商上0+Y补补+11.101011.010000.1010 11000011R与与Y同号同号,商上,商上1+-Y补补11.1110 11假商:假商:1.001真商:真商:1.001+0.0001=1.0011(补码)(补码)余数:余数:2-4

31、1.1110=1.11111110(补码)(补码)130(2) 采用第采用第种上商符号方案种上商符号方案+00.100001.000011.0110 00R与与Y异号,异号,商上商上0+Y补补 00.01100 0R与与Y异号,商上异号,商上0+00.110011.0110 0 0+Y补补+00.001000.010011.0110 000000R与与Y异号异号,商上,商上0+Y补补 +11.101011.010000.101000000011R与与Y同号同号,商上,商上1+-Y补补11.11101111131假商:假商:0.001真商:真商:0.001+1.0001=1.0011(补码)(补

32、码)余数:余数:2-4 1.1110=1.11111110(补码)(补码)注:在算法中,由于商的末位恒置注:在算法中,由于商的末位恒置1,故,故 上商少进行一次。上商少进行一次。 1322.5 浮点运算浮点运算 l浮点数加法浮点数加法 l浮点数乘法浮点数乘法 133E E浮点数真值:浮点数真值:N = + R N = + R M M 阶码阶码E Ef E E1 E Em M Mf M M1 M Mn浮点数机器格式:浮点数机器格式:尾数尾数阶符阶符数符数符R R:阶码底,隐含约定。:阶码底,隐含约定。E E:阶码,为定点整数,补码或移码表示。:阶码,为定点整数,补码或移码表示。 其其位数位数决定

33、决定数值范围数值范围; 阶符阶符表示表示数的大小数的大小。M M:尾数,为定点小数,原码或补码表示。:尾数,为定点小数,原码或补码表示。 其其位数位数决定决定数的精度数的精度; 数符数符表示表示数的正负数的正负。尾数规格化:尾数规格化:1/21/2 M M 1 1最高有效位绝对值为最高有效位绝对值为1浮点表示法浮点表示法1. 格式格式1342. 表示范围与精度表示范围与精度表示范围:表示范围:-231 231 (1-2-9)例例.某规格化浮点数用补码表示,其中阶码某规格化浮点数用补码表示,其中阶码6位,含位,含1位阶位阶符;尾数符;尾数10位,含位,含1位数符。位数符。阶符阶符1 1位,阶码位

34、,阶码m+1位,补码表示,以位,补码表示,以2 2为底;为底;数符数符1 1位,尾数位,尾数n+1位,补码表示,规格化。位,补码表示,规格化。最小浮点数最小浮点数:最大浮点数最大浮点数:最小浮点正数最小浮点正数:阶码为最大数:阶码为最大数: 2 -1m尾数为绝对值最大的负数:尾数为绝对值最大的负数:-1尾数为最大数:尾数为最大数:阶码为最大数:阶码为最大数:2 -1m1-2-n阶码为最小数:阶码为最小数:-2 m尾数为最小正数:尾数为最小正数:2-1表示精度:表示精度: 2-33135IEEE 754标准浮点格式标准浮点格式有三种浮点格式:有三种浮点格式:l短实数短实数:l长实数长实数:l临时

35、实数临时实数:11152sem1823sem11564sem136说明:说明:ls为数符;为数符;le:阶码,以:阶码,以2为底,移码表示,但与原理性偏为底,移码表示,但与原理性偏置量有些差异。置量有些差异。 例如:阶码为例如:阶码为8位,偏置量为位,偏置量为127(非(非128)lm:尾数,纯小数,数符不包括在尾数中。:尾数,纯小数,数符不包括在尾数中。 真正的尾数为真正的尾数为1.m137例例1. 将十进制数将十进制数178.125表示成单精度浮点数表示成单精度浮点数(1) 先将十进制数先将十进制数178.125表示成二进制数:表示成二进制数: (178.125)10 = (1011001

36、0.001)2(2) 再表示成二进制规格化科学计数法形式:再表示成二进制规格化科学计数法形式: 10110010.001 = 1.0110010001 27(3) 计算出偏移阶码计算出偏移阶码e: e=111+01111111=10000110(4) 表示成单精度浮点数表示成单精度浮点数 01000011001100100010000000000000(小数点前面的(小数点前面的1和小数点隐含)和小数点隐含)138例例2:若:若32位浮点数为位浮点数为C1C90000H,求其对应,求其对应的十进制数。的十进制数。(1) 将将C1C90000H表示成单精度浮点数表示成单精度浮点数 1100000

37、1110010010000000000000000(2) 计算出偏移阶码的真值计算出偏移阶码的真值 10000011-01111111=100(3) 表示成浮点规格化数表示成浮点规格化数 1.1001001 24 (小数点前面的小数点前面的1和小数点显现出来和小数点显现出来)(4) 写成非规格化二进制数写成非规格化二进制数 -11001.001(5) 转换成十进制数转换成十进制数 -25.125 1392.5.1 浮点数加法浮点数加法浮点数加法分以下几个步骤:浮点数加法分以下几个步骤:(1)求阶差对大阶求阶差对大阶比较两个数的阶码部分,将比较两个数的阶码部分,将阶码较小阶码较小的数的数右移右移

38、,直至其阶码与另一个数一,直至其阶码与另一个数一样为止。样为止。(2)尾数相加尾数相加将两个数的尾数相加。将两个数的尾数相加。140(3)规格化处理规格化处理对尾数进行规格化,使其满足对尾数进行规格化,使其满足(P36):右规右规:左规左规:211| m121ffAA1121121mffmffAAAAAA141(4)判溢出判溢出检查检查阶码阶码部分是否发生溢出部分是否发生溢出(5)舍入处理舍入处理l将将尾数尾数多余的位舍去。多余的位舍去。l浮点运算的精度在很大程度上受舍入浮点运算的精度在很大程度上受舍入操作精度的影响。操作精度的影响。l常采用常采用“0舍舍1入法入法”142浮点加法算法流程图浮

39、点加法算法流程图 143例例1:已知:已知X = 00 0111;00.110100, Y = 00 0110;00.101000,求,求X+Y=?(1)求阶差,对大阶求阶差,对大阶 E=EX EY= EX补补+ EY补补=000111+111010=000001EXEY, MY右移一位,右移一位,EY加加1,得:,得:Y=000111;00.0101000(2)尾数相加尾数相加MX+MY= MX补补+MY补补=00.110100+00.0101000=01.0010000144(3)规格化规格化因因 ,需右规,得:,需右规,得:X+Y=001000;00.10010000(4)舍入处理舍入处理采用采用“0舍舍1入法入法”,因为移出部分最,因为移出部分最高位为高位为0,舍去。,舍去。(5)判溢出判溢出由于阶码的两符号相同,无溢出。由于阶码的两符号相同,无溢出。最后结果:最后结果:X+Y=0.100100 28121ffAA145例例2:已知:已知X = 1 100;00.11011011, Y = 1 110;11.01010100,求,求X+Y=?(1)求阶差,对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论