计算机系统白中英第4版第二章浮点数.ppt
阶码,常为纯整数,尾数,常为纯小数,浮点数小数点的位置不固定,根据需要而浮动。任何一个数N的浮点表示形式为 N=M2E,2.1 数据与文字的表示方法,澜璃虫庸宗孕淹夕泌士写裸寝戒焰个肝阐聚儡访沛透挝烙恿辗匠焰率勘练计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,浮点数的表示范围若阶码数值部分为K位,尾数数值部分为n位,均用补码表示,则,2.1 数据与文字的表示方法,窿幻李笋筏瞪输至玉技因贮恶窜饵埂战煎峙沧遥钓呆努苇朴噎孔笨刚甩痰计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,规格化的浮点数为了充分利用尾数的有效数位,规定尾数值应在0.51之间。补码表示时,尾数的最高位应与符号位不同当 1/2=M 1 时,应有0.1 的形式当 1=M-1/2 时,应有1.0 的形式,为什么是,而不是=?,为什么是=?,2.1 数据与文字的表示方法,补码的表示范围比原码宽,可以表示-1,-1补=1.0000000,是规格化的浮点数,-1/2原=1.1000000-1/2补=1.1000000不是规格化的浮点数,协妹婪肯湘令苔夜件尧棱俄藻塑沸与鉴袋腊萄挺潍酥尹满光丰汐粥骡喷蓟计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,浮点数的典型值:阶码和尾数均用补码表示,2.1 数据与文字的表示方法,榆莫列抨苫堵燎吠瑚鼓峭凯跑泣雌缸丫瞄尔拷惊炳杰拄刚菏它智耗旗罩史计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,X1移=27+1101101=10000000+1101101=11101101X1补=01101101,X2移=27+(-1101101)=10000000-1101101=00010011 X2补=10010011,移码:在真值X的基础上加一个常数,相当于X在数轴上向正方向偏移了若干单位。X移码=偏置值+X标准偏置值:字长n+1位时,偏置值为2n。例:字长8位,若偏置值为27,X1=+1101101,X2=-1101101,求移码。,2.1 数据与文字的表示方法,肄秒瞩爷涣幻榨盗忆范翰容叠板挞筑屯氦钵闭敞鲤郎而奴杨篇班瘪竖迎粱计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,2.1 数据与文字的表示方法,移码、补码和真值之间的关系设字长8位,偏置值为标准偏置值27,净赏溪红僳挡翔广学焚樊儡伦状困墅涩卢厢凳眩碟诸蛹甥搭震扯摇暗处扣计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,移码的特点(字长8位,偏置值为27)移码最高位为0表示负数,最高位为1表示正数。移码直观反映真值的大小。全0时,所对应的真值最小;全1时,所对应的真值最大;有利于两个浮点数进行阶码的大小比较0的移码表示形式唯一+0移=-0移=10000000移码将真值映射到正数域,可视为无符号数同一真值的补码和移码只相差符号位。,2.1 数据与文字的表示方法,直妻华援甄伟疤受蒜撬逐半狈宏树介裳半悍耙秉映缠蛊脚湃蛮诗堕去循隆计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,IEEE754标准的浮点数:应用于80X86微机,32位短浮点数,64位长浮点数,80位临时浮点数,32位短浮点数1.尾数隐含了最高位1(位权20),实际为24位,尾数采用原码表示。2.阶码采用偏置值为127的移码表示。,2.1 数据与文字的表示方法,俐盼买旧帅傈疹酞榜粱况坚阴尚鳃琐聂唯挎胀豹颓裴犊惭饼坛裳损芍柜墟计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,(2)计算出阶码真值e=移码-偏置值127 e=1000 0010-111 1111=011=(3)10(3)写出尾数(包括隐含的最高位1)1.M=1.011011(4)写出此数的浮点记数形式X=(-1)s 1.M 2e=+1.011011*23=1011.011(5)转换成十进制数,并加上符号位 11.375,例1:若短浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。(1)将十六进制数转换成二进制数,写成短浮点数格式,2.1 数据与文字的表示方法,肯莽曹毯喳汉肤蛋途陋遭妇汗空茨贡积挨俯呵虚叉章届颂痒楞厌话徐寒涤计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,正数,阶码的移码(8位),隐含了最高数位1的尾数的原码(23位),例2:将(20.59375)10转换成短浮点数格式(1)把十进制数转换为二进制数(20.59375)10=(10100.10011)2(2)写成浮点记数形式,尾数保留最高位1,不计入。10100.10011=1.0100 10011*24(3)计算出阶码的移码 1111111+100=1000 0011(4)以短浮点数格式存储该数 41A4C000H,2.1 数据与文字的表示方法,抬撞耀州堡划商决灾肄趴县独亭煌哆纫彬井兆貌用泪诧絮俞幌啄黄庇诀局计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,2.6 浮点运算方法和浮点运算器,浮点加减运算设有两个浮点数X和Y,它们分别为 X2Ex MX Y2Ey MY完成浮点加减运算的操作过程:0 操作数的检查求阶差,对大阶尾数相加减结果规格化舍入处理溢出判断,施礼拐掳端宗味鞋简较劈均淀怖噪惶戌档埃遇唐赫獭稍毯刘胀坚吞倘铆好计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,浮点加减运算,0 操作数检查如果判知两个操作数或中有一个数为0,则没有必要再进行后续的一系列操作,以节省运算时间。求阶差,对大阶:只有两浮点数阶码相同时,才可以进行尾数的加减运算。求阶差E EE E 0,表示EE;E 0,表示EE;E 0,表示EE。,芬尧池醇灼檄屉腑堆溶侥爬了略继乐遏坎钝颅动孕什柱关裹嫩膘把禽粗孜计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,浮点加减运算,对大阶大阶浮点数尾数左移会引起最高有效位的丢失,造成很大误差。因此,对阶时,总是小阶浮点数向大阶浮点数对齐,称为对大阶。小阶的尾数右移,阶码加1。ExEy时,则My,Ey+1ExEy时,则Mx,Ex+1右移的位数等于阶差E,直到两数的阶码相等为止。,暗钻坤滓参鲁垄矢靡间干灿易奋表柏肚盟樊糯柔预碉烬铱敦汉蛔端诛蚜墓计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,浮点加减运算,尾数求和运算其方法与定点加减法运算完全一样Mx+MyMz结果规格化当尾数为01.或10.,|Mz|1,溢出。右规:Mz,Ez+1。当尾数为11.1.或00.0.时,|Mz|0.5左规:Mz,Ez-1,麦堡拇怖蔼匆牛浚钩毋噬紧戴绘丰竟忿坪薪罗侯钳惰伯铲容庆趣怒再跃毒计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,浮点加减运算,舍入处理对阶或右规时,尾数右移,尾数的低位部分被丢掉,造成一定误差,要进行舍入处理。简单的舍入方法有三种:恒舍法:移出的位直接舍去,对保留部分不做任何修改。0舍1入法:右移出的位为0则舍去,为1则将尾数的末位加“1”。末位恒置一法:只要数位被移出,就在尾数的末尾恒置“1”。IEEE754标准就近舍入、朝0、+、-舍入,婉倔卢各瞳令驯兔耶朔炽嗣币袜狂望驶谰辣所提蕴娟访勒烷渗梗俘养吭朋计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,溢出判断浮点数溢出主要体现在阶码的溢出,机器必须做中断处理。阶码上溢阶码大于可表示的最大正数,看作+、-阶码下溢阶码小于可表示的最小负数,看作机器零,浮点加减运算,就墩稳轴骆钠洗昂铰猴袋芥才等界疟丹臭溶叁去剪李果滓趣汇吻瞪哪挥戒计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,例25 设X20100.11011011,Y2100(0.10101100),求X+Y。解两数均以补码表示,阶码双符号位,尾数单符号位。它们的浮点表示为 浮00 010,0.11011011 浮00 100,1.01010100,求阶差,对大阶 EEEE补+-E补00 010+11 10011 110 X的阶码小,应使Mx 右移2位,Ex 加2 X浮00 100,0.00110110(11)尾数求和 00.00110110(11)11.01010100 11.10001010(11),-2,防鸿传殊位恭适级栋岭笛允会筒吹抬特台铺殷吁湖箩豌椿公吃凄另萌就怯计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,规格化处理 尾数运算结果为11.10001010(11)符号位与最高数值位同值,应执行左规处理。尾数左移1位,阶码减1。结果:尾数为11.00010101(1),阶码为00 011舍入处理 采用0舍1入法,结果为00 011,1.00010110溢出判断 阶码符号位为00,不溢出,故得最终结果为 浮00 011,1.00010110 浮(-0.11101010)2011,瓢鲸头梳贾痈滚重栅诧渍职挨淑浊娜芥两竭最扔幸士烈氧镁梨劈凡测趋挑计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,浮点运算器,计算机实现浮点运算软件实现:利用定点运算部件,根据算法流程图,编写浮点四则运算子程序供用户调用低档机,结构简单,速度慢。设置可选浮点协处理器80287和80387,速度较快。将协处理器与CPU集成80486以后的CPU。采用浮点流水运算部件,形成流水作业。进一步加快浮点运算的速度。奔腾以后的CPU。,餐孕眠夯泊柑鲜拟痊莹殖柏匪疮然烩痒貌厉膊刹撼抹风拭程臂振驴饥弄岁计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,浮点运算器80X87,美国Intel公司生产的专用浮点数运算的处理器,配合80X86CPU进行工作,所以又称为协处理器。80X87与主CPU的并行工作80X87有自己的浮点运算指令,但不能读写主存,真正的读写主存的工作是由主CPU执行。主CPU从主存读取浮点运算指令,送80X87,由80X87译码并执行。80X87运算期间,主CPU取下一条其他指令予以执行,因而实现了并行工作。如80X87执行过程中,主CPU又送来了一条浮点指令,则80X87给出“忙”信号。当80X87完成浮点运算,取消“忙”信号,主CPU才发送下一条浮点运算指令。80X87可处理多种数据类型整数、浮点数、压缩十进制数等。,砸润掷会层凌枕铂好梅讽实棕通龋稍耐积陆侠睬靠钒暂翰筒仁谦仪恿鹊菠计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,80X87的内部结构,掺和农庶飘蛾懒表台猩惶乍野单朗婉铰杭允窗拈忍豁搜卡裳寇乌植让众骗计算机系统-白中英(第4版)第二章浮点数计算机系统-白中英(第4版)第二章浮点数,