組成原理第2章__運(yùn)算方法和運(yùn)算器_第1頁(yè)
組成原理第2章__運(yùn)算方法和運(yùn)算器_第2頁(yè)
組成原理第2章__運(yùn)算方法和運(yùn)算器_第3頁(yè)
組成原理第2章__運(yùn)算方法和運(yùn)算器_第4頁(yè)
組成原理第2章__運(yùn)算方法和運(yùn)算器_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、BCD碼便于輸入輸出,表達(dá)數(shù)值準(zhǔn)確碼便于輸入輸出,表達(dá)數(shù)值準(zhǔn)確表表2.1 ASCII字符編碼表字符編碼表0-3位位4-7位位漢字的輸入編碼、交漢字的輸入編碼、交換碼、漢字內(nèi)碼、字換碼、漢字內(nèi)碼、字模碼是計(jì)算機(jī)中用于模碼是計(jì)算機(jī)中用于輸入、內(nèi)部處理、交輸入、內(nèi)部處理、交換、輸出四種不同用換、輸出四種不同用途的編碼,不要混為途的編碼,不要混為一談一談. 顯示輸出顯示輸出打印輸出打印輸出機(jī)內(nèi)碼向字形碼轉(zhuǎn)換機(jī)內(nèi)碼向字形碼轉(zhuǎn)換機(jī)內(nèi)碼機(jī)內(nèi)碼輸入碼向機(jī)內(nèi)碼轉(zhuǎn)換輸入碼向機(jī)內(nèi)碼轉(zhuǎn)換字符代碼化(輸入)字符代碼化(輸入)數(shù)據(jù)1010101001010100000000000111111111111111偶校驗(yàn)碼10

2、101010 001010100 100000000 001111111 111111111 0奇校驗(yàn)碼10101010 101010100 000000000 101111111 011111111 1n海明碼定點(diǎn)小數(shù)的小數(shù)點(diǎn)位置定點(diǎn)整數(shù)的小數(shù)點(diǎn)位置純整數(shù):純整數(shù):X = 01010110.正數(shù),符號(hào)位取正數(shù),符號(hào)位取0Y= - 1101001.純整數(shù):純整數(shù):Y = 11101001. (原碼)(原碼)負(fù)數(shù),符號(hào)位取負(fù)數(shù),符號(hào)位取1X=+0.11011Y=-0.10101符號(hào)位取符號(hào)位取0純小數(shù):純小數(shù):X = 0.11011符號(hào)位取符號(hào)位取1純小數(shù):純小數(shù):X = 1.10101 (原碼

3、)(原碼)指數(shù)E基數(shù)J,取固定的值,比如10,2等尾數(shù)M2、機(jī)器中表示、機(jī)器中表示 階符階碼數(shù)符尾數(shù):含階符的階碼,:含階符的階碼,8 位位階碼采用移碼方式來(lái)表示階碼采用移碼方式來(lái)表示正負(fù)指數(shù)正負(fù)指數(shù):1位符號(hào)位符號(hào)位位0表示正數(shù)表示正數(shù)1表示負(fù)數(shù)表示負(fù)數(shù) :尾數(shù),:尾數(shù),23位小位小數(shù)表示,小數(shù)點(diǎn)放數(shù)表示,小數(shù)點(diǎn)放在尾數(shù)域最前面在尾數(shù)域最前面IEEE 754標(biāo)準(zhǔn)標(biāo)準(zhǔn)對(duì)于二進(jìn)制數(shù)對(duì)于二進(jìn)制數(shù)1011.1101=0.10111101 2+4= 10.111101 2+2 = 1.0111101 2+3 (規(guī)格化表示法規(guī)格化表示法)= 1.0111101 2+11 (規(guī)格化表示法規(guī)格化表示法)=R

4、EM那么,計(jì)算機(jī)中究竟采用哪種數(shù)據(jù)形式?那么,計(jì)算機(jī)中究竟采用哪種數(shù)據(jù)形式?多種數(shù)據(jù)形式多種數(shù)據(jù)形式二進(jìn)制數(shù)二進(jìn)制數(shù)指數(shù)真值指數(shù)真值e 用偏移碼形式表示為階碼用偏移碼形式表示為階碼IEEE 754標(biāo)準(zhǔn)標(biāo)準(zhǔn) X(-1)s1.M2e (1.011011)231011.011(11.375)10 指數(shù)指數(shù)e階碼階碼127 1000 00100111111100000011=(3)10 包括隱藏位包括隱藏位1的尾數(shù)的尾數(shù)1.M 1.011011例1:浮點(diǎn)機(jī)器數(shù) (41360000)16,求真值 十六進(jìn)制數(shù)展開(kāi)成二進(jìn)制數(shù)十六進(jìn)制數(shù)展開(kāi)成二進(jìn)制數(shù)0 100 0001 0011 0110 0000 0000

5、 0000 0000S階碼階碼E(8位位)尾數(shù)尾數(shù)M(23位位)例例2:真值:真值20.59375,求,求32位單精度浮點(diǎn)數(shù)位單精度浮點(diǎn)數(shù) 分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù)分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù) 20.5937510100.10011 移動(dòng)小數(shù)點(diǎn),使其在第移動(dòng)小數(shù)點(diǎn),使其在第1、2位之間位之間10100.100111.01001001124e4S0E4+12713110000011M010010011 得到得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:0 100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16l 最大

6、的優(yōu)點(diǎn)就是將減法運(yùn)算轉(zhuǎn)換成加法運(yùn)算最大的優(yōu)點(diǎn)就是將減法運(yùn)算轉(zhuǎn)換成加法運(yùn)算l X補(bǔ)補(bǔ)-Y補(bǔ)補(bǔ)= X補(bǔ)補(bǔ)+-Y補(bǔ)補(bǔ)例如例如 X=(11)10=(1011)2 Y=(5)10=(0101)2已知字長(zhǎng)已知字長(zhǎng)n=5位位X補(bǔ)補(bǔ)-Y補(bǔ)補(bǔ) =X補(bǔ)補(bǔ)+-Y補(bǔ)補(bǔ)=01011+11011=100110=00110=(6)10 注:注: 最高最高1位已經(jīng)超過(guò)字長(zhǎng)故應(yīng)丟掉位已經(jīng)超過(guò)字長(zhǎng)故應(yīng)丟掉l 無(wú)正零和負(fù)零之分無(wú)正零和負(fù)零之分移碼的定義是:移碼的定義是: x移移=2n+x 例例: -1011111 原碼為原碼為11011111 補(bǔ)碼為補(bǔ)碼為10100001 反碼為反碼為10100000 移碼為移碼為00100001

7、特點(diǎn):移碼和補(bǔ)碼尾數(shù)相同,符號(hào)位相反特點(diǎn):移碼和補(bǔ)碼尾數(shù)相同,符號(hào)位相反范圍范圍:-2n2n-1l 補(bǔ)碼加法運(yùn)算補(bǔ)碼加法運(yùn)算 l 補(bǔ)碼減法運(yùn)算補(bǔ)碼減法運(yùn)算 l 溢出概念及檢測(cè)方法溢出概念及檢測(cè)方法 l 基本的二進(jìn)制加法基本的二進(jìn)制加法/減法器減法器 l 十進(jìn)制加法器十進(jìn)制加法器 3) X= 3 Y= 21) X=3 Y=22) X= 3 Y= 24) X= 3 Y= 2例例. 求求(X+Y)補(bǔ)補(bǔ)3) X= 3 Y= 20 0001(+1補(bǔ)碼)補(bǔ)碼)1) X=3 Y=2 X補(bǔ)補(bǔ)=0 0011 Y補(bǔ)補(bǔ)=1 11102) X= 3 Y= 2 X補(bǔ)補(bǔ)=1 1101 Y補(bǔ)補(bǔ)=1 11101 1011 (

8、 5補(bǔ)碼)補(bǔ)碼) X補(bǔ)補(bǔ)=0 0011 Y補(bǔ)補(bǔ)=0 00100 0101(+5補(bǔ)碼)補(bǔ)碼)4) X= 3 Y= 2 X補(bǔ)補(bǔ)=1 1101 Y補(bǔ)補(bǔ)=0 00101 1111(1補(bǔ)碼)補(bǔ)碼)例例. 求求(X+Y)補(bǔ)補(bǔ) 2.3.2 補(bǔ)碼減法運(yùn)算補(bǔ)碼減法運(yùn)算 ( X - Y )補(bǔ)補(bǔ) = X補(bǔ)補(bǔ) + (-Y)補(bǔ)補(bǔ)操作碼為操作碼為“減減”時(shí),將減轉(zhuǎn)換為加。時(shí),將減轉(zhuǎn)換為加。 1) X= 4 Y= 5 X補(bǔ)補(bǔ)=0 0100 Y補(bǔ)補(bǔ)=1 1011(-Y)補(bǔ)補(bǔ)=0 01010 1001(+9補(bǔ)碼)補(bǔ)碼)2) X= 4 Y= 5 X補(bǔ)補(bǔ)=1 1100 Y補(bǔ)補(bǔ)=0 0101(-Y)補(bǔ)補(bǔ)=1 10111 0111 (

9、9補(bǔ)碼)補(bǔ)碼)例例. 求求(X Y)補(bǔ)補(bǔ)Y補(bǔ)補(bǔ) (Y)補(bǔ)補(bǔ):將將Y Y補(bǔ)補(bǔ)變補(bǔ)變補(bǔ)不管不管Y Y補(bǔ)補(bǔ)為正或負(fù),將其符號(hào)連同為正或負(fù),將其符號(hào)連同尾數(shù)一起各位變反,末位加尾數(shù)一起各位變反,末位加1 1。即將減數(shù)變補(bǔ)后與被減數(shù)相加。即將減數(shù)變補(bǔ)后與被減數(shù)相加。 X補(bǔ)補(bǔ)=0 0100 Y補(bǔ)補(bǔ)=1 1011 X補(bǔ)補(bǔ)=1 1100 Y補(bǔ)補(bǔ)=0 0101注意:某數(shù)的補(bǔ)碼表示與某數(shù)變補(bǔ)的區(qū)別。注意:某數(shù)的補(bǔ)碼表示與某數(shù)變補(bǔ)的區(qū)別。例例. 1 0101. 1 0101原原 1 10111 1011補(bǔ)碼表示補(bǔ)碼表示1 00111 0011補(bǔ)補(bǔ) 0 11010 1101變補(bǔ)變補(bǔ) 0 0101 0 0101原原 0

10、 01010 0101補(bǔ)碼表示補(bǔ)碼表示符號(hào)位不變符號(hào)位不變,負(fù)數(shù)尾數(shù)改變,負(fù)數(shù)尾數(shù)改變,正數(shù)尾數(shù)不變。正數(shù)尾數(shù)不變。0 00110 0011補(bǔ)補(bǔ) 1 11011 1101變補(bǔ)變補(bǔ)符號(hào)位改,符號(hào)位改,尾數(shù)改變。尾數(shù)改變。補(bǔ)碼的機(jī)器負(fù)數(shù)補(bǔ)碼的機(jī)器負(fù)數(shù)2. 算法流程算法流程操作數(shù)用補(bǔ)碼表示,符號(hào)位操作數(shù)用補(bǔ)碼表示,符號(hào)位參加運(yùn)算參加運(yùn)算結(jié)果為補(bǔ)碼表示,符號(hào)位指示結(jié)果為補(bǔ)碼表示,符號(hào)位指示結(jié)果正負(fù)結(jié)果正負(fù)X補(bǔ)補(bǔ)+Y補(bǔ)補(bǔ)X補(bǔ)補(bǔ)+(-Y)補(bǔ)補(bǔ)ADDSUB3. 邏輯實(shí)現(xiàn)邏輯實(shí)現(xiàn)A(X補(bǔ)補(bǔ))B(Y補(bǔ)補(bǔ))+AABB+B+B+1CPA A(1)控制信號(hào)控制信號(hào)加法器輸入端:加法器輸入端:+A+A:打開(kāi)控制門(mén),將:

11、打開(kāi)控制門(mén),將A A送送。+B+B:打開(kāi)控制門(mén),將:打開(kāi)控制門(mén),將B B送送。+1+1:控制末位加:控制末位加 1 1 。+B+B:打開(kāi)控制門(mén),將:打開(kāi)控制門(mén),將B B送送。加法器輸出端:加法器輸出端: A:打開(kāi)控制門(mén),將結(jié)打開(kāi)控制門(mén),將結(jié) 果送果送A輸入端。輸入端。CPCPA A:將結(jié)果打入:將結(jié)果打入A A。(2)補(bǔ)碼加減運(yùn)算器粗框補(bǔ)碼加減運(yùn)算器粗框2.3.4 溢出判斷溢出判斷在什么情況下可能產(chǎn)生溢出?在什么情況下可能產(chǎn)生溢出?例例. .數(shù)數(shù)A A有有4 4位尾數(shù),位尾數(shù),1 1位符號(hào)位符號(hào)S SA A 數(shù)數(shù)B B有有4 4位尾數(shù),位尾數(shù),1 1位符號(hào)位符號(hào)S SB B 符號(hào)位參符號(hào)位參加

12、運(yùn)算加運(yùn)算 結(jié)果符號(hào)結(jié)果符號(hào)S Sf f符號(hào)位進(jìn)位符號(hào)位進(jìn)位C Cf f尾數(shù)最高位進(jìn)位尾數(shù)最高位進(jìn)位C Cl 兩正數(shù)加,變負(fù)數(shù),上溢(大于機(jī)器所能表示的兩正數(shù)加,變負(fù)數(shù),上溢(大于機(jī)器所能表示的最大數(shù))最大數(shù))l 兩負(fù)數(shù)加,變正數(shù),下溢(小于機(jī)器所能表示兩負(fù)數(shù)加,變正數(shù),下溢(小于機(jī)器所能表示的最小數(shù))的最小數(shù))(2)A=10 B=7 10+7 : 0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判斷邏輯一硬件判斷邏輯一(SA、SB與與Sf的關(guān)系)的關(guān)系)溢出溢出= = S SA AS SB BS Sf

13、fS SA AS Sf fS SB B2. 硬件判斷邏輯二硬件判斷邏輯二(Cf與與C的關(guān)系)的關(guān)系)溢出溢出= = C Cf f C C3. 硬件判斷邏輯三硬件判斷邏輯三(雙符號(hào)位(雙符號(hào)位)溢出溢出= S= Sf1f1 S Sf2f2(1)3+2:正確正確00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正溢正確正確負(fù)溢負(fù)溢正確正確正確正確(3)-3+(-2):11 0111 11 110111 1110(4)-10+(-7):10 1111 11 011011 1001(5)6+(-4):00 0010 00 011011 1100

14、(6)-6+4:11 1110 11 101000 0100第一符號(hào)位第一符號(hào)位Sf1第二符號(hào)位第二符號(hào)位Sf2有進(jìn)位有進(jìn)位無(wú)進(jìn)位無(wú)進(jìn)位無(wú)進(jìn)位無(wú)進(jìn)位無(wú)進(jìn)位無(wú)進(jìn)位兩負(fù)數(shù)相加,結(jié)果為正,顯然錯(cuò)誤。兩負(fù)數(shù)相加,結(jié)果為正,顯然錯(cuò)誤。運(yùn)算中出現(xiàn)了“下溢”無(wú)進(jìn)位無(wú)進(jìn)位有進(jìn)位有進(jìn)位FA(全加器)邏輯電路圖 FA框圖l 原碼原碼1位乘法位乘法 l 補(bǔ)碼補(bǔ)碼1位乘法位乘法l 陣列乘法器陣列乘法器 2.3.1 原碼一位乘法原碼一位乘法 (4/5)例題 已知X=-0.1011,Y=0.1001,求XY原解: X原=1.1011,Y原=0.1001 |X| = 0.1011,|Y| = 0.1001按原碼一位乘法運(yùn)算

15、規(guī)則,求XY原的數(shù)值部分。|X|Y| = 0.01100011, 而Zs = Xs Ys = 1 0 =1最后求得XY原 = 1.01100011例題之例題之原碼原碼一一位乘法運(yùn)算過(guò)程位乘法運(yùn)算過(guò)程 +) 0. 0 0 0 0 +) 0. 0 0 0 0 +) 0. 1 0 1 1 +) 0. 1 0 1 1 0. 0 0 0 10. 0 1 1 00. 1 1 0 00. 0 0 1 00. 0 0 1 00. 0 1 0 10. 0 1 0 10. 1 0 1 10. 0 0 0 0右移一位得部分積右移一位得部分積Z4,乘數(shù)同時(shí)右移一位乘數(shù)同時(shí)右移一位右移一位得部分積右移一位得部分積Z3,

16、乘數(shù)同時(shí)右移一位乘數(shù)同時(shí)右移一位右移一位得部分積右移一位得部分積Z2,乘數(shù)同時(shí)右移一位乘數(shù)同時(shí)右移一位右移一位得部分積右移一位得部分積Z1,乘數(shù)同時(shí)右移一位乘數(shù)同時(shí)右移一位Y1=1,加,加|X|Y2=0,加,加0Y3=0,加,加0Y4=1,加,加|X|設(shè)部分積初值設(shè)部分積初值Z0=0操作說(shuō)明操作說(shuō)明乘乘 數(shù)數(shù)部部 分分 積積1 0 0 11 1 0 01 1 1 00 1 1 10 0 1 1低低 位位 積積高高 位位 積積例原碼一位乘法運(yùn)算過(guò)程例原碼一位乘法運(yùn)算過(guò)程不帶符號(hào)的陣列乘法器不帶符號(hào)的陣列乘法器求補(bǔ)器求補(bǔ)器2.4.1 原碼一位除法-加減交替法加減交替法例 X = -0.1011,Y

17、=0.1101,求X/Y原解: X原=1.1011,Y原=0.1101 Y補(bǔ)=0.1101,-Y補(bǔ)=1.0011 商的符號(hào) Qs= 1 0 = 1 所以 X/Y原 = 1.1101 余數(shù)=0.01112-4例題之原碼不恢復(fù)余數(shù)除法運(yùn)算過(guò)程例題之原碼不恢復(fù)余數(shù)除法運(yùn)算過(guò)程 +) 1 1. 0 0 1 1 1 1. 1 1 1 0 0 0. 1 0 1 1+Y余數(shù)與商左移一位余數(shù)與商左移一位初始狀態(tài)+-Y補(bǔ)+-|Y|補(bǔ)余數(shù)為負(fù),商“0”余數(shù)為正,商“1”操作說(shuō)明商Q上商被除數(shù)(余數(shù))0. 0 0 0 00. 0 0 0 00. 0 0 0 10. 0 0 1 00. 0 0 0 0 +) 0 0.

18、 1 1 0 1 1 1. 1 1 0 0 +) 1 1. 0 0 1 1 0 0. 1 0 0 1 0 1. 0 0 1 00. 0 0 1 10. 0 1 1 0 +) 1 1. 0 0 1 1 0 0. 0 1 0 1 0 0. 1 0 1 0余數(shù)為正,商“1” 0 0. 0 1 1 10. 1 1 0 10. 0 1 1 00. 1 1 0 0 +) 0 0. 1 1 0 1 1 1. 1 1 0 1 1 1. 1 0 1 0余數(shù)與商左移一位+-|Y|補(bǔ)余數(shù)為正,商“1”+Y余數(shù)與商左移一位余數(shù)為負(fù),商“0”2.4.1 原碼一位除法-恢復(fù)余數(shù)法例 X = -0.1001,Y= -0.1

19、011,求X/Y原解:X原 = 1.1001,Y原 = 1.1011 |X| = 0.1001,|Y| = 0.1011,-|Y|補(bǔ) = 1.0101運(yùn)算過(guò)程如下:所以,Qs = 1 1 = 0 X/Y原 = Q原 = 0.1101 R原 = 2-4R5 = 0.00000001例題之例題之原碼恢復(fù)余數(shù)除法運(yùn)算過(guò)程原碼恢復(fù)余數(shù)除法運(yùn)算過(guò)程+)0 0. 1 0 1 1+)1 1. 0 1 0 1 1 1. 1 1 1 0 0 0. 1 0 0 1R1恢復(fù)余數(shù),+|Y|R0 = X|+-|Y|補(bǔ)+-|Y|補(bǔ)+-|Y|補(bǔ)得R1 0,商上1余數(shù)左移一位余數(shù)左移一位操作說(shuō)明商Q上商(余 數(shù))被 除 數(shù)0

20、. 0 0 0 00. 0 0 0 00. 0 0 0 10. 0 0 1 00. 0 0 0 0 +)1 1. 0 1 0 1 0 0. 1 0 0 1 0 1. 0 0 1 0 +)1 1. 0 1 0 1 0 0. 0 1 1 1 0 0. 1 1 1 00. 0 0 1 10. 0 1 1 0 +)1 1. 0 1 0 1 0 0. 0 0 1 1 0 0. 0 1 1 0+-|Y|補(bǔ)得R3 0,商上1余數(shù)左移一位 +)0 0. 1 0 1 1 1 1. 1 0 1 1恢復(fù)余數(shù),+|Y|得R4 0,商上10. 1 1 0 1原碼加減交替法邏輯結(jié)構(gòu)框圖原碼加減交替法邏輯結(jié)構(gòu)框圖 加數(shù)器加

21、數(shù)器YfCxQnTiQnT1 , T2, +1LDR1LDR0被除數(shù)被除數(shù)X或者余數(shù)寄存器或者余數(shù)寄存器R0商商Q寄存器寄存器R1除數(shù)除數(shù)Y寄存器寄存器ffR2R計(jì)數(shù)器計(jì)數(shù)器iQfXfR0R1Qn+1SQ1. 浮點(diǎn)加減法運(yùn)算浮點(diǎn)加減法運(yùn)算 (1/7)設(shè)兩個(gè)浮點(diǎn)數(shù)x和y分別為: x=Sx2Ex y=Sy2 Ey其中,Ex、Ey分別是x和y的階碼,Sx和Sy是x、y的尾數(shù)。假定它們都是規(guī)則化的數(shù),即其尾數(shù)絕對(duì)值總小于1(用補(bǔ)碼表示,允許為1),浮點(diǎn)加減運(yùn)算的運(yùn)算步驟如下:1. 浮點(diǎn)加減法運(yùn)算浮點(diǎn)加減法運(yùn)算 (2/7)1 對(duì)階:小階向大階看齊 對(duì)階的第一步是求階差:E =Ex-Ey 若E =0,表示

22、兩數(shù)階碼相等,即ExEy,不需要對(duì)階 若E 0,表明ExEy 若E 0,表明Ex0時(shí) 1/2S1 對(duì)于SS-1理論上,S可等于-1/2,但-1/2補(bǔ)=11.1000,為了便于判別是否是規(guī)格化數(shù),不把-1/2列為規(guī)格化數(shù),而把-1列入規(guī)格化數(shù)。 -1補(bǔ)=11.000 補(bǔ)碼規(guī)格化的浮點(diǎn)數(shù)應(yīng)有兩種形式: 00.1xxx 11.0 xxx1. 浮點(diǎn)加減法運(yùn)算浮點(diǎn)加減法運(yùn)算 (4/7)由此可知補(bǔ)碼規(guī)格化的條件是:(A)若和或差的尾數(shù)兩符號(hào)位相等且與尾數(shù)第一位相等,則需向左規(guī)格化。即將和或差的尾數(shù)左移,每移一位,和或差的階碼減一,直至尾數(shù)第一位與尾符不等時(shí)為止。(B)若和或差的尾數(shù)兩符號(hào)位不等,即01.x

23、xx或10.xxx形式,表示尾數(shù)求和(差)結(jié)果絕對(duì)值大于,向左破壞了規(guī)格化。此時(shí)應(yīng)該將和(差)的尾數(shù)右移1位,階碼加,即進(jìn)行向右規(guī)格化。4 舍入(1) “0舍1入”法,即右移時(shí)丟掉的最高位為0,則舍去;是1,則將尾數(shù)的末位加1(相當(dāng)于進(jìn)入)。(2)“恒置1”法,即不管移掉的是0還是1,都把尾數(shù)的末位置1。1. 浮點(diǎn)加減法運(yùn)算浮點(diǎn)加減法運(yùn)算 (5/7)5. 浮點(diǎn)數(shù)的溢出判斷:由階碼判斷是否溢出。設(shè)階碼數(shù)值部分取7位,符號(hào)位取2位,用補(bǔ)碼表示,則能表示的最大階碼E補(bǔ)=001111111=127; 最小階碼E補(bǔ)=110000000=-128;(1)小于-128,稱(chēng)為下溢:發(fā)生在左規(guī)時(shí);用機(jī)器0表示(

24、階碼、尾數(shù)全0)(2)大于+127時(shí),稱(chēng)為上溢,這是浮點(diǎn)數(shù)的真正溢出置溢出標(biāo)志,作中斷處理n總結(jié):E補(bǔ)=01 XXX為上溢,真正溢出,需做溢出處理。 E 補(bǔ)=10 XXX為下溢,浮點(diǎn)數(shù)值趨于零,用機(jī)器零表示。1. 浮點(diǎn)加減法運(yùn)算浮點(diǎn)加減法運(yùn)算 (6/7)例 x = 0.11011001,y=- (0.1010)1011,求x+y=?解:(1)對(duì)階:假定兩數(shù)在計(jì)算機(jī)中采用補(bǔ)碼制,則 x補(bǔ)=0001,00.1101 Ex=0001 y補(bǔ)=0011,11.0110 Ey=0011 求階差:E =Ex-Ey=0001+1101=1110,即E =-2,表示x的階碼Ex小于y的階碼Ey,階差為-2,所以

25、應(yīng)使x的尾數(shù)右移2位,階碼加2,則x補(bǔ)=0011, 00.0011,這時(shí)E =0,對(duì)階完畢。1. 浮點(diǎn)加減法運(yùn)算浮點(diǎn)加減法運(yùn)算 (7/7)(2) 尾數(shù)求和(差) x和y對(duì)階后的尾數(shù)分別為:Sx補(bǔ)=00.0011,Sy補(bǔ)=11.0110 則 Sx補(bǔ)+Sy補(bǔ)=00.0011+11.0110=11.1001 x+y補(bǔ)=0011,11.1001(3) 規(guī)格化和的尾數(shù)的兩符號(hào)位相等,但小數(shù)點(diǎn)后的第一位也與符號(hào)位相等,不是規(guī)格化數(shù),需要進(jìn)行左規(guī),即向左規(guī)格化:尾數(shù)左移一位,階碼減,就可得到規(guī)格化的浮點(diǎn)數(shù)結(jié)果。 x+y補(bǔ)=0010,11.00102. 浮點(diǎn)乘法運(yùn)算浮點(diǎn)乘法運(yùn)算 (1/3)設(shè) x=Sx2Ex

26、, Y=Sy2 Ey則 xY=(SxSy)2 Ex+Ey浮點(diǎn)數(shù)乘法運(yùn)算的規(guī)則為:n乘積的階碼由兩數(shù)階碼相加求得n乘積的尾數(shù)等于被乘數(shù)和乘數(shù)的尾數(shù)之積可采用定點(diǎn)數(shù)乘方法(A)需要對(duì)浮點(diǎn)數(shù)尾數(shù)積進(jìn)行規(guī)格化(左規(guī)、右規(guī):均是最多一位)(B)舍入:0舍1入,若采用雙倍字長(zhǎng)乘積時(shí),沒(méi)有舍入問(wèn)題。2. 浮點(diǎn)乘法運(yùn)算浮點(diǎn)乘法運(yùn)算 (2/3)例3-15 已知 x=0.11000010101,y=-0.11100010100,設(shè)階碼數(shù)值部分各取5位,階符2位;尾數(shù)數(shù)值部分各取6位,尾符2位,按機(jī)器浮點(diǎn)數(shù)運(yùn)算步驟,求xy。解 : (1) 求階和 Ex補(bǔ)=00 00101 Ey補(bǔ)=00 00100 E補(bǔ)=Ex補(bǔ) +

27、 Ey補(bǔ) = 00 01001 (2) 尾數(shù)相乘 可利用原碼或補(bǔ)碼定點(diǎn)數(shù)乘法求尾數(shù)之乘積,可得 SxSy原 = 1.101010000000 或 SxSy補(bǔ) = 1.0101100000002. 浮點(diǎn)乘法運(yùn)算浮點(diǎn)乘法運(yùn)算 (3/3)(3) 規(guī)格化 SxSy原或SxSy補(bǔ)已是規(guī)格化形式,勿需規(guī)格化。(4) 舍入 若取單字長(zhǎng)乘積,可得SxSy原=1.101010或SxSy補(bǔ)=1.010110,所以 xy原=1.101010100001001 xy補(bǔ)=1.010110100001001 得 xy = -0.101010101001= -1010100003 浮點(diǎn)除法運(yùn)算浮點(diǎn)除法運(yùn)算n浮點(diǎn)數(shù)除法的運(yùn)算

28、規(guī)則為:n商的尾數(shù)由兩數(shù)的尾數(shù)相除求得n商的階碼由兩數(shù)階碼相減求得 設(shè)x=Sx2Ex, y=Sy2Ey , 則x/y=(Sx/Sy)2 Ex-Eyn步驟 (1)預(yù)置 (2)尾數(shù)調(diào)整 (3)求階差 (4)尾數(shù)相除 (5)規(guī)格化 (6)舍入浮點(diǎn)加減運(yùn)算的操作過(guò)程浮點(diǎn)加減運(yùn)算的操作過(guò)程n分為四步:分為四步: 1. 0 操作數(shù)的檢查;操作數(shù)的檢查; 2. 比較階碼大小并完成對(duì)階;比較階碼大小并完成對(duì)階; 3. 尾數(shù)進(jìn)行加或減運(yùn)算;尾數(shù)進(jìn)行加或減運(yùn)算; 4. 結(jié)果規(guī)格化并進(jìn)行舍入處理。結(jié)果規(guī)格化并進(jìn)行舍入處理。(1 1)0 0 操作數(shù)檢查操作數(shù)檢查n浮點(diǎn)加減運(yùn)算過(guò)程比定點(diǎn)運(yùn)算過(guò)程復(fù)雜浮點(diǎn)加減運(yùn)算過(guò)程比定

29、點(diǎn)運(yùn)算過(guò)程復(fù)雜n如果判知兩個(gè)操作數(shù)如果判知兩個(gè)操作數(shù)或或中有一個(gè)數(shù)為中有一個(gè)數(shù)為0,即可得知運(yùn)算結(jié)果而沒(méi)有必要再進(jìn)行后續(xù)的即可得知運(yùn)算結(jié)果而沒(méi)有必要再進(jìn)行后續(xù)的一系列操作以節(jié)省運(yùn)算時(shí)間。一系列操作以節(jié)省運(yùn)算時(shí)間。n0操作數(shù)檢查步驟則用來(lái)完成這一功能。操作數(shù)檢查步驟則用來(lái)完成這一功能。(2 2)比較階碼大小并完成對(duì)階比較階碼大小并完成對(duì)階n兩浮點(diǎn)數(shù)進(jìn)行加減,首先要看兩數(shù)的階碼兩浮點(diǎn)數(shù)進(jìn)行加減,首先要看兩數(shù)的階碼是否相同,即小數(shù)點(diǎn)位置是否對(duì)齊。若二是否相同,即小數(shù)點(diǎn)位置是否對(duì)齊。若二數(shù)階碼相同,表示小數(shù)點(diǎn)是對(duì)齊的,就可數(shù)階碼相同,表示小數(shù)點(diǎn)是對(duì)齊的,就可以進(jìn)行尾數(shù)的加減運(yùn)算。若二數(shù)階碼不同,以進(jìn)行

30、尾數(shù)的加減運(yùn)算。若二數(shù)階碼不同,表示小數(shù)點(diǎn)位置沒(méi)有對(duì)齊,必須使二數(shù)階表示小數(shù)點(diǎn)位置沒(méi)有對(duì)齊,必須使二數(shù)階碼相同,這個(gè)過(guò)程叫作碼相同,這個(gè)過(guò)程叫作對(duì)階對(duì)階(3 3)尾數(shù)求和運(yùn)算尾數(shù)求和運(yùn)算n對(duì)階結(jié)束后,即可進(jìn)行尾數(shù)的求和運(yùn)算。對(duì)階結(jié)束后,即可進(jìn)行尾數(shù)的求和運(yùn)算。不論加法運(yùn)算還是減法運(yùn)算,都按加法不論加法運(yùn)算還是減法運(yùn)算,都按加法進(jìn)行操作,其方法與定點(diǎn)加減法運(yùn)算完進(jìn)行操作,其方法與定點(diǎn)加減法運(yùn)算完全一樣。全一樣。(4 4)結(jié)果規(guī)格化結(jié)果規(guī)格化n在浮點(diǎn)加減運(yùn)算時(shí),尾數(shù)求和的結(jié)果也可以得到在浮點(diǎn)加減運(yùn)算時(shí),尾數(shù)求和的結(jié)果也可以得到01.或或10.,即兩符號(hào)位不等,這在定即兩符號(hào)位不等,這在定點(diǎn)加減法運(yùn)算中稱(chēng)為溢出,是不允許的。但在浮點(diǎn)加減法運(yùn)算中稱(chēng)為溢出,是不允許的。但在浮點(diǎn)運(yùn)算中,它表明尾數(shù)求和結(jié)果的絕對(duì)值大于點(diǎn)運(yùn)算中,它表明尾數(shù)求和結(jié)果的絕對(duì)值大于1,向左破壞了規(guī)格化。此時(shí)將運(yùn)算結(jié)果右移以實(shí)現(xiàn)向左破壞了規(guī)格化。此時(shí)將運(yùn)算結(jié)果右移以實(shí)現(xiàn)規(guī)格化表示,稱(chēng)為規(guī)格化表示,稱(chēng)為向右規(guī)格化,簡(jiǎn)稱(chēng)右規(guī)向右規(guī)格化,簡(jiǎn)稱(chēng)右規(guī)。規(guī)則規(guī)則是是:尾數(shù)右移:尾數(shù)右移1位,階碼加位,階碼加1。n尾數(shù)不是尾數(shù)不是1.M形式時(shí),需向左規(guī)格化,簡(jiǎn)稱(chēng)左規(guī)形式時(shí),需向左規(guī)格化,簡(jiǎn)稱(chēng)左規(guī)(5 5)舍入處理舍入處理n在對(duì)階或向右規(guī)格

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論