




已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
.,計算機(jī)組成原理,浮點數(shù)表示及運算,.,一、浮點數(shù)的表示,N=Rem=2EM=2e(m),E0,M0,91028=0.910-2721033=0.21034任意一個十進(jìn)制數(shù)可以寫成=10E(十進(jìn)制表示),計算機(jī)中一個任意進(jìn)制數(shù)可以寫成,m:尾數(shù),是一個純小數(shù)。e:浮點的指數(shù),是一個整數(shù)。R:基數(shù),對于二進(jìn)計數(shù)值的機(jī)器是一個常數(shù),一般規(guī)定為2,8或16,.,浮點數(shù)的表示范圍,負(fù)上溢,N=2EM|N|產(chǎn)生正上溢或者負(fù)上溢|N|0產(chǎn)生正下溢或者負(fù)下溢,尾數(shù):用定點小數(shù)表示,給出有效數(shù)字的位數(shù),決定了浮點數(shù)的表示精度階碼:用定點整數(shù)形式表示,指明小數(shù)點在數(shù)據(jù)中的位置,決定了浮點數(shù)的表示范圍。,一個機(jī)器浮點數(shù)由階碼和尾數(shù)及其符號位組成:,最大正數(shù),最小正數(shù),最小負(fù)數(shù),最大負(fù)數(shù),.,8位定點小數(shù)可表示的范圍0.0000001-0.11111111/128-127/128設(shè)階碼2位,尾數(shù)4位可表示2-11*0.0001-211*0.11110.0000001-111.1設(shè)階碼3位,尾數(shù)3位可表示2-111*0.001-2111*0.1110.0000000001-1110000,機(jī)器字長一定時,階碼越長,表示范圍越大,精度越低浮點數(shù)表示范圍比定點數(shù)大,精度高,.,一個浮點數(shù)有不同的表示:0.5;0.05101;0.005102;5010-2,為提高數(shù)據(jù)的表示精度,需做規(guī)格化處理。,浮點數(shù)是數(shù)學(xué)中實數(shù)的子集合,由一個純小數(shù)乘上一個指數(shù)值來組成。,二、浮點數(shù)規(guī)格化,把不滿足這一表示要求的尾數(shù),變成滿足這一要求的尾數(shù)的操作過程,叫作浮點數(shù)的規(guī)格化處理,通過尾數(shù)移位和修改階碼實現(xiàn)。,在計算機(jī)內(nèi),其純小數(shù)部分被稱為浮點數(shù)的尾數(shù),對非0值的浮點數(shù),要求尾數(shù)的絕對值必須=1/2,即尾數(shù)域的最高有效位應(yīng)為1,稱滿足這種表示要求的浮點數(shù)為規(guī)格化表示:0.1000101010,.,規(guī)格化目的:為了提高數(shù)據(jù)的表示精度為了數(shù)據(jù)表示的唯一性尾數(shù)為R進(jìn)制的規(guī)格化:絕對值大于或等于1/R二進(jìn)制原碼的規(guī)格化數(shù)的表現(xiàn)形式:,正數(shù)0.1xxxxxx負(fù)數(shù)1.0 xxxxxx,正數(shù)0.1xxxxxx負(fù)數(shù)1.1xxxxxx,補(bǔ)碼尾數(shù)的規(guī)格化的表現(xiàn)形式:尾數(shù)的最高位與符號位相反。,.,解:12310=11110112=0.11110110002277移=10000+00111=101110.1111011000補(bǔ)=0.1111011000123浮=1011101111011000=BBD8H,例:對數(shù)據(jù)12310作規(guī)格化浮點數(shù)的編碼,假定1位符號位,基數(shù)為2,階碼5位,采用移碼,尾數(shù)10位,采用補(bǔ)碼。,.,S尾數(shù)符號,0正1負(fù);M尾數(shù),純小數(shù)表示,小數(shù)點放在尾數(shù)域的最前面。采用原碼表示。E階碼,采用“移碼”表示(移碼可表示階符);階符采用隱含方式,即采用移碼方法來表示正負(fù)指數(shù)。,為便于軟件移植,使用IEEE(電氣和電子工程師協(xié)會)標(biāo)準(zhǔn)IEEE754標(biāo)準(zhǔn):尾數(shù)用原碼;階碼用“移碼”;基為2。,三、浮點數(shù)的標(biāo)準(zhǔn)格式IEEE754,.,規(guī)格化浮點數(shù)的真值,x=(-1)s(1.)2127e=127,一個規(guī)格化的32位浮點數(shù)的真值為:,32位浮點數(shù)格式:,x=(1)s(1.)21023,一個規(guī)格化的64位浮點數(shù)的真值為:,這里e是真值,是機(jī)器數(shù),1.隱藏位技術(shù),2.階碼用“移碼”偏移值127而不是128,Emin=1,Emax=254/2046,原碼非0值浮點數(shù)的尾數(shù)數(shù)值最高位必定為1,則在保存浮點數(shù)到內(nèi)存前,通過尾數(shù)左移,強(qiáng)行把該位去掉,用同樣多的位數(shù)能多存一位二進(jìn)制數(shù),有利于提高數(shù)據(jù)表示精度,稱這種處理方案使用了隱藏位技術(shù)。,當(dāng)然,在取回這樣的浮點數(shù)到運算器執(zhí)行運算時,必須先恢復(fù)該隱藏位。,.,例:若浮點數(shù)x的二進(jìn)制存儲格式為(41360000)16,求其32位浮點數(shù)的十進(jìn)制值。,解:0100,0001,0011,0110,0000,0000,0000,0000數(shù)符:0階碼:1000,0010尾數(shù):011,0110,0000,0000,0000,0000指數(shù)e階碼127100000100111111100000011=(3)10包括隱藏位1的尾數(shù):1.M1.011011000000000000000001.011011,于是有x(1)s1.M2e(1.011011)231011.011(11.375)10,.,例:將十進(jìn)制數(shù)20.59375轉(zhuǎn)換成32位浮點數(shù)的二進(jìn)制格式來存儲。,解:首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù):20.5937510100.10011然后移動小數(shù)點,使其在第1,2位之間10100.100111.01001001124e4于是得到:e=127S0,E4127131=1000,0011,M010010011最后得到32位浮點數(shù)的二進(jìn)制存儲格式為01000001101001001100000000000000(41A4C000)16,.,解:-0.75=-3/4=-0.112=-1.12-1=(-1)1(1+0.10000000000000000000000)2-1=(-1)1(1+0.10000000000000000000000)2126-127s=1,E=12610=011111102,F(xiàn)=1000000。1011,1111,0100,0000,0000,0000,0000,0000BF400000H,例:將十進(jìn)制數(shù)-0.75表示成單精度的IEEE754標(biāo)準(zhǔn)代碼。,.,單精度浮點數(shù)編碼格式,+0/-0,0,0,0/1,(-1)S(0.f)2(-126),f(非零),0,0/1,(-1)S(1.f)2(e-127),f,1254,0/1,-,0,255,1,+,0,255,0,sNaNSignalingNaN,非零0 xxxx,255,0/1,NaNNotaNumber,非零1xxxx,255,0/1,表示,尾數(shù),階碼,符號位,.,IEEE754規(guī)格化浮點數(shù)表示范圍,Emax=2046,f=1.1111,1.111122046-1023=21023(2-2-52),Emin=1,M=0,1.021-1023=2-1022,雙精度,Emax=254,f=1.1111,1.11112254-127=2127(2-2-23),Emin=1,M=0,1.021-127=2-126,單精度,最大值,最小值,格式,.,設(shè)有兩個浮點數(shù)和,它們分別為:,浮點加減法運算,其中Ex和Ey分別為數(shù)和的階碼,Mx和My為數(shù)和的尾數(shù)。兩浮點數(shù)進(jìn)行加法和減法的運算規(guī)則是:(Mx2ExEyMy)2EyEx0,ExEy若E0,ExEy,通過尾數(shù)的移動來改變Ex或Ey,使其相等。,對階原則階碼小的數(shù)向階碼大的數(shù)對齊;對階過程小階的尾數(shù)右移,每右移一位,其階碼加1(右規(guī))。,(2)對階,(1)0操作數(shù)檢查,210*(0.11000)+28*(0.00110)大階對小階210*(0.11000)-28*(11.000)11.000+0.00110?小階對大階28*(0.00110)-210*(0.00001)0.00001+0.11000=0.11001,.,例:x=2010.1101,y=211(-0.1010),求x+y=?,解:為便于直觀了解,兩數(shù)均以補(bǔ)碼表示,階碼、尾數(shù)均采用雙符號位。x補(bǔ)=0001,00.1101y補(bǔ)=0011,11.0110E補(bǔ)=Ex補(bǔ)Ey補(bǔ)=0001+1101=1110E=-2,表示Ex比Ey小2,因此將x的尾數(shù)右移兩位.右移一位,得x補(bǔ)=0010,00.0110再右移一位,得x補(bǔ)=0011,00.0011至此,E=0,對階完畢.,.,尾數(shù)求和方法與定點加減法運算完全一樣。對階完畢可得:x補(bǔ)=0011,00.0011y補(bǔ)=0011,11.0110對尾數(shù)求和:00.0011+11.011011.1001即得:x+y補(bǔ)=0011,11.1001,(3)尾數(shù)求和運算,.,(4)結(jié)果規(guī)格化,求和之后得到的數(shù)可能不是規(guī)格化了的數(shù),為了增加有效數(shù)字的位數(shù),提高運算精度,必須將求和的結(jié)果規(guī)格化。規(guī)格化的定義:,(二進(jìn)制),對正數(shù):S=00.1對負(fù)數(shù):S=11.0,采用雙符號位的補(bǔ)碼:,采用原碼:正數(shù):S=0.1負(fù)數(shù):S=1.1,.,規(guī)格化規(guī)則,運算結(jié)果產(chǎn)生溢出時,必須進(jìn)行右歸如變形補(bǔ)碼結(jié)果出現(xiàn)10.XX或者01.XXX如運算結(jié)果出現(xiàn)0.0XXX或1.1XX必須左歸左歸時最低數(shù)據(jù)有效位補(bǔ)0右歸時連同符號位進(jìn)位位一起右移左歸時,階碼作減法,右歸時,階碼作加法,00.0XXXX-00.1XXX0左規(guī)11.1XXXX-11.0XXX0左規(guī)01.XXXXX-00.1XXXX右規(guī)10.XXXXX-11.0XXXX右規(guī),規(guī)格化方法,.,例:兩浮點數(shù)x=0.1101210,y=(0.1011)201,求x+y。,解:x補(bǔ)=0010,00.1101y補(bǔ)=0001,00.1011對階:E補(bǔ)=Ex補(bǔ)Ey補(bǔ)=0010+1111=0001y向x對齊,將y的尾數(shù)右移一位,階碼加1。y補(bǔ)=0010,00.0101,x+y補(bǔ)=0010,01.0010,右歸:運算結(jié)果兩符號位不同,其絕對值大于1,右歸。x+y補(bǔ)=0011,00.1001,求和:00.1101+00.010101.0010,.,在對階或向右規(guī)格化時,尾數(shù)要向右移位,這樣,被右移的尾數(shù)的低位部分會被丟掉,從而造成一定誤差,因此要進(jìn)行舍入處理。簡單的舍入方法有兩種:“0舍1入”法即如果右移時被丟掉數(shù)位的最高位為0則舍去,反之則將尾數(shù)的末位加“1”?!昂阒?”法即只要數(shù)位被移掉,就在尾數(shù)的末位恒置“1”。從概率上來說,丟掉的0和1各為1/2。,(5)舍入處理,.,在IEEE754標(biāo)準(zhǔn)中,舍入處理提供了四種可選方法:就近舍入其實質(zhì)就是通常所說的四舍五入。例如,尾數(shù)超出規(guī)定的23位的多余位數(shù)字是10010,多余位的值超過規(guī)定的最低有效位值的一半,故最低有效位應(yīng)增1。若多余的5位是01111,則簡單的截尾即可。對多余的5位10000這種特殊情況:若最低有效位現(xiàn)為0,則截尾;若最低有效位現(xiàn)為1,則向上進(jìn)一位使其變?yōu)?。朝0舍入即朝數(shù)軸原點方向舍入,就是簡單的截尾。無論尾數(shù)是正數(shù)還是負(fù)數(shù),截尾都使取值的絕對值比原值的絕對值小。這種方法容易導(dǎo)致誤差積累。朝舍入對正數(shù)來說,只要多余位不全為0則向最低有效位進(jìn)1;對負(fù)數(shù)來說則是簡單的截尾。朝舍入處理方法正好與朝舍入情況相反。對正數(shù)來說,只要多余位不全為0則簡單截尾;對負(fù)數(shù)來說,向最低有效位進(jìn)1。,.,(6)溢出處理,與定點加減法一樣,浮點加減運算最后一步也需判溢出。在浮點規(guī)格化中已指出,當(dāng)尾數(shù)之和(差)出現(xiàn)01或10時,并不表示溢出,只有將此數(shù)右規(guī)后,再根據(jù)階碼來判斷浮點運算結(jié)果是否溢出。,若機(jī)器數(shù)為補(bǔ)碼,尾數(shù)為規(guī)格化形式,并假設(shè)階符取2位,階碼取7位、數(shù)符取2位,尾數(shù)取n位,則它們能表示的補(bǔ)碼在數(shù)軸上的表示范圍如圖所示。,.,圖中A,B,a,b分別對應(yīng)最小負(fù)數(shù)、最大正數(shù)、最大負(fù)數(shù)和最小正數(shù)。它們所對應(yīng)的真值分別是:A最小負(fù)數(shù)2+127(-1)B最大正數(shù)2+127(1-2-n)a最大負(fù)數(shù)2-128(-2-1-2-n)b最小正數(shù)2-1282-1,最小負(fù)數(shù),最大正數(shù),最大負(fù)數(shù),最小正數(shù),.,圖中a,b之間的陰影部分,對應(yīng)階碼小于128的情況,叫做浮點數(shù)的下溢。下溢時浮點數(shù)值趨于零,故機(jī)器不做溢出處理,僅把它作為機(jī)器零。圖中的A、B兩側(cè)陰影部分,對應(yīng)階碼大于127的情況,叫做浮點數(shù)的上溢。此刻,浮點數(shù)真正溢出,機(jī)器需停止運算,作溢出中斷處理。一般說浮點溢出,均是指上溢??梢姡↑c機(jī)的溢出與否可由階碼的符號決定:階碼j補(bǔ)=01,為上溢,機(jī)器停止運算,做中斷處理;階碼j補(bǔ)=10,為下溢,按機(jī)器零處理。,.,例:若某次加法操作的結(jié)果為X+Y補(bǔ)=11.010,00.0000110111,則應(yīng)對其進(jìn)行向左規(guī)格化操作:尾數(shù)為:00.1101110000,階碼減4:,11.010+11.100-4補(bǔ)10.110,例:若某次加法操作的結(jié)果為X+Y補(bǔ)=00.111,10.1011100111,則應(yīng)對其進(jìn)行向右規(guī)格化操作:尾數(shù)為:11.0101110011,階碼加1:01.000階碼超出了它所能表示的最大正數(shù)(+7),表明本次浮點運算產(chǎn)生了溢出。,階碼超出了它所能表示的最小負(fù)數(shù)(-8),表明本次浮點運算產(chǎn)生了溢出。,.,例:兩浮點數(shù)x=21010.11011011,y=2111(-0.10101100)。假設(shè)尾數(shù)在計算機(jī)中以補(bǔ)碼表示,可存儲10位尾數(shù),2位符號位,階碼以補(bǔ)碼表示,雙符號位,求x+y。,解:將x,y轉(zhuǎn)換成浮點數(shù)據(jù)格式x浮=00101,00.11011011Y浮=00111,11.01010011+100111,11.01010100步驟1:對階,階差為Ex-Ey=Ex補(bǔ)+-Ey補(bǔ)-Ey補(bǔ)=11000111001Ex-Ey001011100111110(000011)0001020Ex-Ey0ExEy小階對大階,X階碼加2X尾數(shù)右移2位,.,解:將x,y轉(zhuǎn)換成浮點數(shù)據(jù)格式x浮=00101,00.11011011Y浮=00111,11.01010011+100111,11.01010100步驟1:對階,階差為Ex-Ey=Ex補(bǔ)+-Ey補(bǔ)Ex-Ey20Ex-Ey0ExEy小階對大階,X階碼加2X尾數(shù)右移2位x浮=00111,00.00110110(11)步驟2:尾數(shù)求和X+Y浮=00111,00.00110110(11)+00111,11.01010100=00111,11.10001010(11),.,步驟2:尾數(shù)求和X+Y浮=00111,00.00110110(11)+00111,11.01010100=00111,11.10001010(11)步驟3:計算結(jié)果規(guī)格化X+Y浮為非規(guī)格化數(shù),左歸一位,階碼減一,00110,11.00010101(1)步驟4:舍入處理X+Y浮=00110,11.00010110(0舍1如法)X+Y浮=00110,11.00010101(截去法)步驟5:溢出判斷無溢出X+Y浮=2110 x(-00.11101011),.,.,例設(shè)=20100.11011011,=2100(-0.10101100),求+。,解:階碼采用雙符號位,尾數(shù)采用單符號位,則它們的浮點表示分別為x浮=00010,0.11011011y浮=00100,1.01010100(1)求階差并對階,E=Ex-Ey=Ex補(bǔ)+-Ey補(bǔ)=00010+11100=11110,x浮00100,0.00110110(11),其中(11)表示M右移2位后移出的最低兩位數(shù)。,即E為-2,x的階碼小,應(yīng)使Mx右移兩位,Ex加2,.,(2)尾數(shù)求和,(4)舍入處理,采用0舍1入法處理,則有:,1.00010101+11.00010110,0.00110110(11)+1.010101001.10001010(11),(3)規(guī)格化處理尾數(shù)運算結(jié)果的符號位與最高數(shù)值位為同值,應(yīng)執(zhí)行左規(guī)處理,結(jié)果為1.00010101(10),階碼為00011。,(5)判斷溢出階碼符號位為00,不溢出,故得最終結(jié)果為x+y=2011(-0.11101010),.,例:兩浮點數(shù)x=2010.1101,y=211
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 涼山某國企公開招聘派遣制工作人員(8人)筆試參考題庫附帶答案詳解
- 2025福建省輝穹工程咨詢有限公司招聘2人筆試參考題庫附帶答案詳解
- 2025河南鄭州空中絲路文化傳媒有限公司招聘6人筆試參考題庫附帶答案詳解
- 2025廣東省汕特建設(shè)集團(tuán)有限公司招聘專業(yè)技術(shù)人才4人筆試參考題庫附帶答案詳解
- 2025年福建武夷旅游集團(tuán)有限公司人才教育板塊自主招聘17人筆試參考題庫附帶答案詳解
- 2025年春季貴州磷化(集團(tuán))有限責(zé)任公司社會招聘139人筆試參考題庫附帶答案詳解
- 2025寧夏賀蘭山國家森林公園有限公司招募見習(xí)崗位人員11名筆試參考題庫附帶答案詳解
- 2025內(nèi)蒙古鄂爾多斯市東方控股集團(tuán)有限公司校園招聘15人筆試參考題庫附帶答案詳解
- 醫(yī)師合同協(xié)議書
- 自考漢語言試題及答案
- 夜市現(xiàn)場管理制度內(nèi)容
- 掛名股東免責(zé)協(xié)議書(2025年)
- 雨季冬季施工及臺風(fēng)、炎熱氣候條件下施工措施
- 幼兒園中班美術(shù)《開心帽》課件
- 武進(jìn)經(jīng)濟(jì)發(fā)展集團(tuán)筆試
- 2024年10月廣東省高等教育自學(xué)考試00055企業(yè)會計學(xué)試卷及答案
- 微型計算機(jī)原理及接口技術(shù)知到智慧樹章節(jié)測試課后答案2024年秋重慶大學(xué)
- 2024年四川省公務(wù)員錄用考試《行測》真題及答案解析
- 社會組織活動流程
- 2024-2025學(xué)年六年級上冊數(shù)學(xué)人教版期中考試試題(1-4單元)(含答案)
- 浙江省寧波市鎮(zhèn)海中學(xué)高三下學(xué)期適應(yīng)性測試數(shù)學(xué)試卷2
評論
0/150
提交評論