资源描述:
《计算机浮点运算详解---深入学习计算机组成原理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、6.4浮点四则运算一、浮点加减运算x=Sx·2jxy=Sy·2jy1.对阶(1)求阶差(2)对阶原则Δj=jx–jy=jx=jy已对齐jx>jyjx<jyx向y看齐y向x看齐x向y看齐y向x看齐小阶向大阶看齐Sx1,Sy1,Sx1,Sy1,=0>0<0jx–1jy+1jx+1jy–1From:news.wdsxx.com新闻例如x=0.1101×201y=(–0.1010)×211求x+y解:[x]补=00,01;00.1101[y]补=00,11;11.01101.对阶[Δj]补=[jx]补–[jy]补=00,0111,0111,10阶差为负(–2)[Sx]补'=00.0011[Sy]补
2、=11.011011.1001∴Sx2jx+2∴[x+y]补=00,11;11.1001②对阶[x]补'=00,11;00.0011++对阶后的[Sx]补'6.4①求阶差2.尾数求和From:news.wdsxx.com新闻3.规格化(1)规格化数的定义(2)规格化数的判断r=2≤
3、S
4、<112S>0真值原码补码反码规格化形式S<0规格化形式真值原码补码反码0.1×××…0.1×××…0.1×××…0.1×××…原码不论正数、负数,第一数位为1补码符号位和第一数位不同–0.1×××…1.1×××…1.0×××…1.0×××…6.4From:news.wdsxx.com新闻特例S=–=–0.
5、100012…∴[–]补不是规格化的数12S=–1∴[–1]补是规格化的数[S]原=1.1000…[S]补=1.1000…[S]补=1.0000…6.4From:news.wdsxx.com新闻(3)左规(4)右规尾数左移一位,阶码减1,直到数符和第一数位不同为止上例[x+y]补=00,11;11.1001左规后[x+y]补=00,10;11.0010∴x+y=(–0.1110)×210当尾数溢出(>1)时,需右规即尾数出现01.×××或10.×××时……尾数右移一位,阶码加16.4From:news.wdsxx.com新闻例6.27x=0.1101×210y=0.1011×201求x+y
6、(除阶符、数符外,阶码取3位,尾数取6位)解:[x]补=00,010;00.110100[y]补=00,001;00.101100①对阶②尾数求和[Δj]补=[jx]补–[jy]补=00,01011,111100,001阶差为+1∴Sy1,jy+1∴[y]补'=00,010;00.010110[Sx]补=00.110100[Sy]补'=00.010110对阶后的[Sy]补'01.001010++尾数溢出需右规6.4From:news.wdsxx.com新闻③右规[x+y]补=00,010;01.001010[x+y]补=00,011;00.100101右规后∴x+y=0.100101×21
7、14.舍入在对阶和右规过程中,可能出现尾数末位丢失引起误差,需考虑舍入(1)0舍1入法(2)恒置“1”法6.4From:news.wdsxx.com新闻例6.28x=(–—)×2-5y=(—)×2-45878求x–y(除阶符、数符外,阶码取3位,尾数取6位)解:[x]补=11,011;11.011000[y]补=11,100;00.111000①对阶[Δj]补=[jx]补–[jy]补=11,01100,10011,111阶差为–1∴Sx1,jx+1∴[x]补'=11,100;11.101100x=(–0.101000)×2-101y=(0.111000)×2-100+6.4From:new
8、s.wdsxx.com新闻②尾数求和[Sx]补´=11.101100[–Sy]补=11.001000+110.110100③右规[x–y]补=11,100;10.110100[x–y]补=11,101;11.011010右规后∴x–y=(–0.100110)×2-11=(–—)×2-319326.4From:news.wdsxx.com新闻5.溢出判断设机器数为补码,尾数为规格化形式,并假设阶符取2位,阶码的数值部分取7位,数符取2位,尾数取n位,则该补码在数轴上的表示为上溢下溢上溢对应负浮点数对应正浮点数00,1111111;11.000…00,1111111;00.111…11,000
9、0000;11.0111…11,0000000;00.1000…2127×(–1)–2-128×(2-1+2-n)2-128×2-12127×(1–2-n)最小负数最大负数最小正数最大正数0阶码01,××···×阶码01,××···×阶码10,××···×按机器零处理6.4From:news.wdsxx.com新闻二、浮点乘除运算x=Sx·2jxy=Sy·2jy1.乘法x·y=(Sx·Sy)×2jx+jy2.除法xy=S