版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、計 算 機(jī) 組 成 原 理,浮點(diǎn)數(shù)表示及運(yùn)算,一、浮點(diǎn)數(shù)的表示,N=Rem = 2EM = 2e (m),E0,M0,91028 = 0.9 10-27 21033 = 0.2 1034 任意一個十進(jìn)制數(shù) 可以寫成 =10E (十進(jìn)制表示),計算機(jī)中一個任意進(jìn)制數(shù) 可以寫成,m :尾數(shù),是一個純小數(shù)。 e :浮點(diǎn)的指數(shù), 是一個整數(shù)。 R :基數(shù),對于二進(jìn)計數(shù)值的機(jī)器是一個常數(shù),一般規(guī)定 為2,8或16,浮點(diǎn)數(shù)的表示范圍,負(fù)上溢,N=2EM |N| 產(chǎn)生正上溢或者負(fù)上溢 |N|0 產(chǎn)生正下溢或者負(fù)下溢,尾數(shù):用定點(diǎn)小數(shù)表示,給出有效數(shù)字的位數(shù),決定了浮點(diǎn)數(shù)的表示精度 階碼:用定點(diǎn)整數(shù)形式表示,
2、指明小數(shù)點(diǎn)在數(shù)據(jù)中的位置,決定了浮點(diǎn)數(shù)的表示范圍。,一個機(jī)器浮點(diǎn)數(shù)由階碼和尾數(shù)及其符號位組成:,最大正數(shù),最小正數(shù),最小負(fù)數(shù),最大負(fù)數(shù),8位定點(diǎn)小數(shù)可表示的范圍 0.0000001 - 0.1111111 1/128 - 127/128 設(shè)階碼2位,尾數(shù)4位 可表示2-11*0.0001 - 211*0.1111 0.0000001 - 111.1 設(shè)階碼3位,尾數(shù)3位 可表示2-111*0.001 - 2111*0.111 0.0000000001 - 1110000,機(jī)器字長一定時,階碼越長,表示范圍越大,精度越低 浮點(diǎn)數(shù)表示范圍比定點(diǎn)數(shù)大,精度高,一個浮點(diǎn)數(shù)有不同的表示: 0.5; 0.
3、05101 ; 0.005 102 ; 50 10-2,為提高數(shù)據(jù)的表示精度,需做規(guī)格化處理。,浮點(diǎn)數(shù)是數(shù)學(xué)中實數(shù)的子集合,由一個純小數(shù)乘上一個指數(shù)值來組成。,二、浮點(diǎn)數(shù)規(guī)格化,把不滿足這一表示要求的尾數(shù),變成滿足這一要求的尾數(shù)的操作過程,叫作浮點(diǎn)數(shù)的規(guī)格化處理,通過尾數(shù)移位和修改階碼實現(xiàn)。,在計算機(jī)內(nèi),其純小數(shù)部分被稱為浮點(diǎn)數(shù)的尾數(shù),對非 0 值的浮點(diǎn)數(shù),要求尾數(shù)的絕對值必須 = 1/2,即尾數(shù)域的最高有效位應(yīng)為1,稱滿足這種表示要求的浮點(diǎn)數(shù)為規(guī)格化表示: 0.1000101010,規(guī)格化目的: 為了提高數(shù)據(jù)的表示精度 為了數(shù)據(jù)表示的唯一性 尾數(shù)為R進(jìn)制的規(guī)格化: 絕對值大于或等于1/R 二
4、進(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.1111011000227 7移=10000+00111 = 10111 0.1111011000補(bǔ)=0.1111011000 123浮= 1011 1 0 11 1101 1000 = BBD8H,例:對數(shù)據(jù)12310作規(guī)格化浮點(diǎn)數(shù)的編碼,假定1位符號位,基數(shù)為2,階碼5位,采用移碼,尾數(shù)10位,采用補(bǔ)碼。,S尾數(shù)符號,0正1負(fù); M尾數(shù), 純小數(shù)表示, 小數(shù)點(diǎn)
5、放在尾數(shù)域的最前面。采用原碼表示。 E階碼,采用“移碼”表示(移碼可表示階符); 階符采用隱含方式,即采用移碼方法來表示正負(fù)指數(shù)。,為便于軟件移植,使用 IEEE(電氣和電子工程師協(xié)會)標(biāo)準(zhǔn)IEEE754 標(biāo)準(zhǔn):尾數(shù)用原碼;階碼用“移碼”;基為2。,三 、浮點(diǎn)數(shù)的標(biāo)準(zhǔn)格式IEEE754,規(guī)格化浮點(diǎn)數(shù)的真值,x = (-1)s (1.) 2127 e = 127,一個規(guī)格化的32位浮點(diǎn)數(shù)的真值為:,32位浮點(diǎn)數(shù)格式:,x = ( 1)s(1.)21023,一個規(guī)格化的64位浮點(diǎn)數(shù)的真值為:,這里e是真值,是機(jī)器數(shù),1.隱藏位技術(shù),2.階碼用“移碼”偏移值127而不是128,Emin=1, Ema
6、x=254/2046,原碼非0值浮點(diǎn)數(shù)的尾數(shù)數(shù)值最高位必定為 1,則在保存浮點(diǎn)數(shù)到內(nèi)存前,通過尾數(shù)左移, 強(qiáng)行把該位去掉, 用同樣多的位數(shù)能多存一位二進(jìn)制數(shù),有利于提高數(shù)據(jù)表示精度,稱這種處理方案使用了隱藏位技術(shù)。,當(dāng)然,在取回這樣的浮點(diǎn)數(shù)到運(yùn)算器執(zhí)行運(yùn)算時,必須先恢復(fù)該隱藏位。,例:若浮點(diǎn)數(shù) x 的二進(jìn)制存儲格式為(41360000)16,求其32位浮點(diǎn)數(shù)的十進(jìn)制值。,解: 0100,0001,0011,0110,0000,0000,0000,0000 數(shù)符:0 階碼:1000,0010 尾數(shù):011,0110,0000,0000,0000,0000 指數(shù)e階碼127100000100111
7、1111 00000011=(3)10 包括隱藏位1的尾數(shù): 1.M1.011 0110 0000 0000 0000 00001.011011,于是有 x(1)s1.M2e (1.011011)231011.011(11.375)10,例: 將十進(jìn)制數(shù)20.59375轉(zhuǎn)換成32位浮點(diǎn)數(shù)的二進(jìn)制格式來存儲。,解:首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù): 20.5937510100.10011 然后移動小數(shù)點(diǎn),使其在第1,2位之間 10100.100111.01001001124 e4 于是得到: e = 127 S0,E4127131=1000,0011,M010010011 最后得到32位浮
8、點(diǎn)數(shù)的二進(jìn)制存儲格式為 0100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16,解:-0.75 = -3/4 = -0.112 = -1.12-1 =(-1)1(1 + 0.1000 0000 0000 0000 0000 000)2-1 =(-1)1(1 + 0.1000 0000 0000 0000 0000 000)2126-127 s=1,E=12610 = 011111102,F(xiàn)=1000 000。 1 011,1111,0 100,0000,0000,0000,0000,0000 B F 4 0 0 0 0 0 H,例:將十進(jìn)制數(shù)-
9、0.75表示成單精度的IEEE 754標(biāo)準(zhǔn)代碼。,單精度浮點(diǎ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,sNaN Signaling NaN,非零0 xxxx,255,0/1,NaN Not a Number,非零1xxxx,255,0/1,表示,尾數(shù),階碼,符號位,IEEE754 規(guī)格化浮點(diǎn)數(shù)表示范圍,Emax=2046, f=1.1111,1.111122046-1023 =21023(2-2-52),Emin=1, M=0
10、, 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è)有兩個浮點(diǎn)數(shù)和, 它們分別為:,浮點(diǎn)加減法運(yùn)算,其中 Ex 和 Ey 分別為數(shù)和的階碼, Mx 和 My為數(shù)和的尾數(shù)。 兩浮點(diǎn)數(shù)進(jìn)行加法和減法的運(yùn)算規(guī)則是: (Mx2ExEyMy)2Ey Ex = Ey,2Ex M 2Ey M,完成浮點(diǎn)加減運(yùn)算的操作過程大體分為:,(1) 0 操作數(shù)的檢查;,(2) 比較階碼大小并完成對階;,(3) 尾數(shù)進(jìn)行加或減運(yùn)算;
11、,(4) 結(jié)果規(guī)格化。,(5) 舍入處理。,(6) 溢出處理。,使二數(shù)階碼相同(即小數(shù)點(diǎn)位置對齊),這個過程叫作對階。 先求兩數(shù)階碼 Ex 和 Ey之差,即E = ExEy 若E = 0,表示 Ex=Ey 若E 0, ExEy 若E 0, 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
12、*(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ǔ)=00 01, 00.1101 y補(bǔ)=00 11, 11.0110 E補(bǔ)= Ex補(bǔ)Ey補(bǔ)= 00 01+11 01 = 11 10 E = -2, 表示Ex比Ey小2, 因此將x的尾數(shù)右移兩位. 右移一位, 得 x補(bǔ)=00 10, 00.0110 再右移一位, 得 x補(bǔ)=00 11, 00.0011 至此, E=0, 對階完畢.,尾數(shù)求和方法與定點(diǎn)加
13、減法運(yùn)算完全一樣。 對階完畢可得: x補(bǔ)=00 11, 00.0011 y補(bǔ)=00 11, 11.0110 對尾數(shù)求和: 00.0011 + 11.0110 11.1001 即得: x+y補(bǔ)=00 11, 11.1001,(3) 尾數(shù)求和運(yùn)算,(4) 結(jié)果規(guī)格化,求和之后得到的數(shù)可能不是規(guī)格化了的數(shù), 為了增加有效數(shù)字的位數(shù), 提高運(yùn)算精度,必須將求和的結(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ī)則,運(yùn)算結(jié)果產(chǎn)生溢出時,必須進(jìn)行右歸 如變形補(bǔ)碼結(jié)果出現(xiàn) 10.XX
14、或者 01.XXX 如運(yùn)算結(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ī)格化方法,例:兩浮點(diǎn)數(shù) x=0.1101 210 , y=(0.1011) 201, 求x+y。,解: x補(bǔ)=00 10,00.1101 y補(bǔ)=00 01,00.1011 對階: E補(bǔ)= Ex補(bǔ)Ey補(bǔ)=00 10+ 11 11= 00 01
15、y向x對齊,將y的尾數(shù)右移一位,階碼加1。 y補(bǔ)=00 10,00.0101,x+y補(bǔ)=00 10,01.0010,右歸:運(yùn)算結(jié)果兩符號位不同,其絕對值大于1,右歸。 x+y補(bǔ)= 00 11,00.1001,求和: 00.1101 + 00.0101 01.0010,在對階或向右規(guī)格化時, 尾數(shù)要向右移位, 這樣, 被右移的尾數(shù)的低位部分會被丟掉, 從而造成一定誤差,因此要進(jìn)行舍入處理。 簡單的舍入方法有兩種: “0舍1入”法 即如果右移時被丟掉數(shù)位的最高位為0則舍去,反之則將尾數(shù)的末位加“1”。 “恒置1”法 即只要數(shù)位被移掉,就在尾數(shù)的末位恒置“1”。從概率上來說,丟掉的0和1各為1/2。
16、,(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。 朝0舍入 即朝數(shù)軸原點(diǎn)方向舍入,就是簡單的截尾。無論尾數(shù)是正數(shù)還是負(fù)數(shù),截尾都使取值的絕對值比原值的絕對值小。這種方法容易導(dǎo)致誤差積累。 朝舍入 對正數(shù)來說,只要多余位不全為0則向最低有效位進(jìn)1;對負(fù)數(shù)來說則是簡單的截
17、尾。 朝舍入 處理方法正好與 朝舍入情況相反。對正數(shù)來說,只要多余位不全為0則簡單截尾;對負(fù)數(shù)來說,向最低有效位進(jìn)1。,(6)溢出處理,與定點(diǎn)加減法一樣,浮點(diǎn)加減運(yùn)算最后一步也需判溢出。在浮點(diǎn)規(guī)格化中已指出,當(dāng)尾數(shù)之和(差)出現(xiàn)01或10時,并不表示溢出,只有將此數(shù)右規(guī)后,再根據(jù)階碼來判斷浮點(diǎn)運(yùn)算結(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
18、(1-2-n) a最大負(fù)數(shù) 2-128 (-2-1-2-n) b最小正數(shù) 2-128 2-1,最小負(fù)數(shù),最大正數(shù),最大負(fù)數(shù),最小正數(shù),圖中a,b之間的陰影部分,對應(yīng)階碼小于128的情況,叫做浮點(diǎn)數(shù)的下溢。下溢時浮點(diǎn)數(shù)值趨于零,故機(jī)器不做溢出處理,僅把它作為機(jī)器零。 圖中的A、B兩側(cè)陰影部分,對應(yīng)階碼大于127的情況,叫做浮點(diǎn)數(shù)的上溢。此刻,浮點(diǎn)數(shù)真正溢出,機(jī)器需停止運(yùn)算,作溢出中斷處理。一般說浮點(diǎn)溢出,均是指上溢。 可見,浮點(diǎn)機(jī)的溢出與否可由階碼的符號決定: 階碼j補(bǔ)=01, 為上溢,機(jī)器停止運(yùn)算,做中斷處理; 階碼j補(bǔ)=10, 為下溢,按機(jī)器零處理。,例:若某次加法操作的結(jié)果為 X+Y補(bǔ)=1
19、1.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),表明本次浮點(diǎn)運(yùn)算產(chǎn)生了溢出。,階碼超出了它所能表示的最小負(fù)數(shù)(-8),表明本次浮點(diǎn)運(yùn)算產(chǎn)生了溢出。,例:兩浮點(diǎn)數(shù)x = 21010.11011011,y = 2111(-0.10101100)。假設(shè)尾
20、數(shù)在計算機(jī)中以補(bǔ)碼表示,可存儲10位尾數(shù),2位符號位,階碼以補(bǔ)碼表示,雙符號位,求x+y。,解:將x,y轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)格式 x浮 = 00 101, 00.11011011 Y浮 = 00 111, 11.01010011+1 00 111, 11.01010100 步驟1:對階,階差為Ex-Ey=Ex補(bǔ)+-Ey補(bǔ) -Ey補(bǔ)=11000111001 Ex-Ey001011100111110 (000011)000102 0 Ex-Ey0 ExEy 小階對大階, X階碼加2 X尾數(shù)右移2位,解:將x,y轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)格式 x浮 = 00 101, 00.11011011 Y浮 = 00 111,
21、 11.01010011+1 00 111, 11.01010100 步驟1:對階,階差為Ex-Ey=Ex補(bǔ)+-Ey補(bǔ) Ex-Ey2 0 Ex-Ey0 ExEy 小階對大階, X階碼加2 X尾數(shù)右移2位 x浮 = 00 111, 00.00110110(11) 步驟2:尾數(shù)求和 X+Y浮 = 00 111, 00.00110110(11 ) + 00 111, 11.01010100 = 00 111, 11.10001010(11),步驟2:尾數(shù)求和 X+Y浮 = 00 111, 00.00110110(11) + 00 111, 11.01010100 = 00 111, 11.10001
22、010(11) 步驟3:計算結(jié)果規(guī)格化 X+Y浮 為非規(guī)格化數(shù),左歸一位, 階碼減一, 00110, 11.00010101(1) 步驟4:舍入處理 X+Y浮 = 00 110, 11.00010110 (0舍1如法) X+Y浮 = 00 110, 11.00010101 (截去法) 步驟5:溢出判斷 無溢出 X+Y浮 = 2110 x (-00.11101011),例 設(shè)=20100.11011011, =2100 (-0.10101100), 求+。,解: 階碼采用雙符號位, 尾數(shù)采用單符號位, 則它們的浮點(diǎn)表示分別為 x浮= 00 010, 0.11011011 y浮= 00 100,
23、1.01010100 (1) 求階差并對階,E = Ex- Ey= Ex補(bǔ)+ -Ey補(bǔ)= 00 010 + 11 100 = 11 110,x浮00 100, 0.00110110(11),其中(11)表示M右移2位后移出的最低兩位數(shù)。,即E為-2, x的階碼小, 應(yīng)使 Mx右移兩位, Ex加2,(2)尾數(shù)求和,(4) 舍入處理,采用0舍1入法處理, 則有:,1.00010101 + 1 1.00010110,0.00110110(11) + 1.01010100 1.10001010(11),(3) 規(guī)格化處理 尾數(shù)運(yùn)算結(jié)果的符號位與最高數(shù)值位為同值,應(yīng)執(zhí)行左規(guī)處理,結(jié)果為1.0001010
24、1(10), 階碼為00 011。,(5) 判斷溢出 階碼符號位為00,不溢出,故得最終結(jié)果為 x + y = 2011 (-0.11101010),例:兩浮點(diǎn)數(shù)x = 2010.1101,y = 211(-0.1010)。假設(shè)尾數(shù)在計算機(jī)中以補(bǔ)碼表示,可存儲4位尾數(shù),2位保護(hù)位,階碼以原碼表示,求x+y。,解:將x,y轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)格式 x浮 = 00 01, 00.1101 y浮 = 00 11, 11.0110 步驟1:對階,階差為11-01=10,即2,因此將x的尾數(shù)右移兩位,得 x浮 = 00 11, 00.001101 步驟2:對尾數(shù)求和,得: x+y浮 = 00 11, 11.1
25、00101 步驟3:由于符號位和第一位數(shù)相等,不是規(guī)格化數(shù),向左規(guī)格化,得 x+y浮 = 00 10, 11.001010 步驟4:截去。 x+y浮 = 00 10, 11.0010 步驟5: 數(shù)據(jù)無溢出,因此結(jié)果為 x+y = 210(-0.1110),浮點(diǎn)乘除法運(yùn)算,1.浮點(diǎn)乘法、除法運(yùn)算規(guī)則,設(shè)有兩個浮點(diǎn)數(shù)和: 2ExMx 2EyMy 浮點(diǎn)乘法運(yùn)算的規(guī)則是: 2(Ex+ Ey) (Mx My) 即: 乘積的尾數(shù)是相乘兩數(shù)的尾數(shù)之積; 乘積的階碼是相乘兩數(shù)的階碼之和。 浮點(diǎn)除法運(yùn)算的規(guī)則是: 2(ExEy) (MxMy) 即:商的尾數(shù)是相除兩數(shù)的尾數(shù)之商; 商的階碼是相除兩數(shù)的階碼之差。,
26、2. 浮點(diǎn)乘、除法運(yùn)算步驟,浮點(diǎn)數(shù)的乘除運(yùn)算大體分為四步: (1) 0 操作數(shù)檢查; (2) 階碼加/減操作; (3) 尾數(shù)乘/除操作; (4) 結(jié)果規(guī)格化及舍入處理。,(2) 浮點(diǎn)數(shù)的階碼運(yùn)算, 對階碼的運(yùn)算有1、1、兩階碼求和、兩階碼求差四種, 運(yùn)算時還必須檢查結(jié)果是否溢出。 在計算機(jī)中, 階碼通常用補(bǔ)碼或移碼形式表示。,移碼的運(yùn)算規(guī)則和判定溢出的方法,移碼的定義為 x移 = 2n + - 2n x 2n,x移+ y移 = 2n + 2n +,= 2n +移,按此定義, 則有,= 2n +(2n +(+),+移 = -2n + x移 + y移,考慮到移碼和補(bǔ)碼的關(guān)系: 對同一個數(shù)值, 其數(shù)
27、值位完全相同, 而符號位正好完全相反。 y補(bǔ)的定義為 y補(bǔ)= 2n+1 + 則求階碼和用如下方式完成:,= 2n+1 + (2n +(+),x移+y補(bǔ)= 2n + 2n+1 +,即:,+移= x移+y補(bǔ) (mod 2n+1),同理:,-移= x移+-y補(bǔ) (mod 2n+1),混合使用移碼和補(bǔ)碼,使用雙符號位的階碼加法器, 并規(guī)定移碼的第二個符號位, 即最高符號位恒用 0 參加加減運(yùn)算, 則溢出條件是結(jié)果的最高符號位為1: 當(dāng)?shù)臀环栁粸?0時,(10) 表明結(jié)果上溢, 當(dāng)?shù)臀环栁粸?時, (11) 表明結(jié)果下溢。 當(dāng)最高符號位為0時, 表明沒有溢出: 低位符號位為1, (01) 表明結(jié)果為
28、正; 為0, (00) 表明結(jié)果為負(fù)。, 階碼運(yùn)算結(jié)果溢出處理,例:= +011,= +110, 求x+y移 和 x-y移, 并判斷是否溢出。,解:階碼取3位(不含符號位),其對應(yīng)的真值范圍是 -8+7,x移= 01 011, y補(bǔ)= 00 110, -y補(bǔ)=11 010,x+y移= x移+ y補(bǔ)=,x-y移= x移+ -y補(bǔ)=,01 011 + 00 110 10 001,結(jié)果上溢。,結(jié)果正確, 為-3。,01 011 + 11 010 00 101,(3) 尾數(shù)處理,浮點(diǎn)加減法對結(jié)果的規(guī)格化及舍入處理也適用于浮點(diǎn)乘除法。 第一種方法是: 無條件地丟掉正常尾數(shù)最低位之后的全部數(shù)值。 這種辦法
29、被稱為截斷處理, 好處是處理簡單, 缺點(diǎn)是影響結(jié)果 的精度。 第二種辦法是: 運(yùn)算過程中保留右移中移出的若干高位的值, 最后再按某種規(guī)則用這些位上的值修正尾數(shù)。 這種處理方法被稱為舍入處理。, 當(dāng)尾數(shù)用原碼表示時: 最簡便的方法是,只要尾數(shù)的最低位為1, 或移出的幾位中有為1的數(shù)值位, 就使最低位的值為1。 另一種是0舍1入法, 即當(dāng)丟失的最高位的值為1時, 把這個1加到最低數(shù)值位上進(jìn)行修正, 否則舍去丟失的的各位的值。這樣處理時,舍入效果對正數(shù)負(fù)數(shù)相同,入將使數(shù)的絕對值變大, 舍則使數(shù)的絕對值變小。,舍入處理, 當(dāng)尾數(shù)是用補(bǔ)碼表示時: 采用0舍1入法時,若丟失的位不全為0時: 對正數(shù)來說,舍
30、入的結(jié)果與原碼分析相同; 對負(fù)數(shù)來說,舍入的結(jié)果與原碼分析相反,即“舍”使絕對 值變大,“入”使絕對值變??;為使原、補(bǔ)碼舍入處理后的結(jié)果 相同,對負(fù)數(shù)可采用如下規(guī)則進(jìn)行舍入處理: 當(dāng)丟失的各位均為0時, 不必舍入; 當(dāng)丟失的最高位為0 , 以下各位不全為0 時, 或者丟失的最 高位為1, 以下各位均為0時, 則舍去丟失位上的值; 當(dāng)丟失的最高位為1,以下各位不全為0 時,則執(zhí)行在尾數(shù)最低位入1的修正操作。,例: 設(shè) x1補(bǔ)= 11.01100000, x2補(bǔ)= 11.01100001, x3補(bǔ)= 11.01101000, x4補(bǔ)= 11.01111001, 求執(zhí)行只保留小數(shù)點(diǎn)后4位有效數(shù)字的舍
31、入操作值。,解:執(zhí)行舍入操作后,其結(jié)果值分別為 x1補(bǔ)11.0110 (不舍不入) x2補(bǔ)11.0110 (舍) x3補(bǔ)11.0110 (舍) x4補(bǔ)11.1000 (入),例:設(shè)有浮點(diǎn)數(shù)=25 0.0110011, = 23 (-0.1110010), 階碼用4位移碼表示, 尾數(shù) (含符號位)用8位補(bǔ)碼表示。求浮。要求用補(bǔ)碼完成尾數(shù)乘法運(yùn)算, 運(yùn)算結(jié)果尾數(shù)保留高8位(含符號位), 并用尾數(shù)低位字長值處理舍入操作。,解:移碼采用雙符號位, 尾數(shù)補(bǔ)碼采用單符號位, 則有 Mx補(bǔ)= 0.0110011, My補(bǔ)= 1.0001110, Ex移= 00 011,Ey移 = 01 011, Ey補(bǔ)=
32、00 011, x浮00 011, 0.0110011, y浮01 011, 1.0001110,(2) 尾數(shù)乘法運(yùn)算 可采用補(bǔ)碼陣列乘法器實現(xiàn), 即有,(1) 求階碼和,Ex+ Ey移= Ex移+ Ey補(bǔ)= 00 011+ 00 011= 00 110, 值為移碼形式-2。,Mx補(bǔ) My補(bǔ) = 0.0110011補(bǔ) 1.0001110補(bǔ),= 1.1010010,1001010補(bǔ),(4) 舍入處理,(3) 規(guī)格化處理,乘積的尾數(shù)符號位與最高數(shù)值位符號相同, 不是規(guī)格化的數(shù),需要左規(guī), 階碼變?yōu)?0 101(-3), 尾數(shù)變?yōu)?1.0100101,0010100。,尾數(shù)為負(fù)數(shù), 取尾數(shù)高位字長,按舍入規(guī)則, 舍去低位字長,故尾數(shù)為1.0100101 。 最終相乘結(jié)果為,其真值為 23 (0.1011011),浮00 101,1.0100101,由于浮點(diǎn)運(yùn)算分成階碼和尾數(shù)兩部分,因此浮點(diǎn)運(yùn)算器的實現(xiàn)比定點(diǎn)運(yùn)算器復(fù)雜得多。分析上述的浮點(diǎn)四則運(yùn)算可以發(fā)現(xiàn),對于階碼只有加減運(yùn)算,對于尾數(shù)則有加、減、乘、除4種運(yùn)算??梢姼↑c(diǎn)運(yùn)算器主要由兩個定點(diǎn)運(yùn)算部件組成,一個是階碼運(yùn)算部件,用來完成階碼加、減,以及控制對階時小階的尾數(shù)右移次數(shù)和規(guī)格化時對階碼的調(diào)整;另個是尾數(shù)運(yùn)算部件,用來
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某著名企業(yè)山東臨工營銷策略和銷售管理項目建議書004
- 《GBT 14283-2008點(diǎn)焊機(jī)器人 通 用技術(shù)條件》專題研究報告
- 《GBT 5121.7-2008銅及銅合金化學(xué)分析方法 第7部分:砷含量的測定》專題研究報告
- 2026版咨詢《決策》章節(jié)習(xí)題 第六章建設(shè)方案與比選
- 道路交通安全心理學(xué)課件
- 2026年九年級語文上冊期末試題(附答案)
- 2025-2026年蘇課新版八年級英語上冊期末考試題庫(附含答案)
- 2026年福建省公務(wù)員試題及答案
- 2026年公務(wù)員時政考試題庫試題解析及答案
- 迪士尼公主介紹課件教案
- 2025年鄭州工業(yè)應(yīng)用技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬試卷
- 2026年七年級歷史上冊期末考試試卷及答案(共六套)
- 2025年六年級上冊道德與法治期末測試卷附答案(完整版)
- 附件二;吊斗安全計算書2.16
- 雨課堂在線學(xué)堂《西方哲學(xué)-從古希臘哲學(xué)到晚近歐陸哲學(xué)》單元考核測試答案
- IPC7711C7721C-2017(CN)電子組件的返工修改和維修(完整版)
- 學(xué)堂在線 雨課堂 學(xué)堂云 研究生學(xué)術(shù)與職業(yè)素養(yǎng)講座 章節(jié)測試答案
- 安捷倫1200標(biāo)準(zhǔn)操作規(guī)程
- 合伙人合同協(xié)議書電子版
- 離婚協(xié)議書下載電子版完整離婚協(xié)議書下載三篇
- 磨床設(shè)備點(diǎn)檢表
評論
0/150
提交評論