中國海洋大學(xué)計算機組成原理課件(第3章)_第1頁
中國海洋大學(xué)計算機組成原理課件(第3章)_第2頁
中國海洋大學(xué)計算機組成原理課件(第3章)_第3頁
中國海洋大學(xué)計算機組成原理課件(第3章)_第4頁
中國海洋大學(xué)計算機組成原理課件(第3章)_第5頁
已閱讀5頁,還剩190頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1(Computer Organization Principles)主講教師主講教師 蔣永國蔣永國 ()實驗教師實驗教師 徐惠敏徐惠敏()For Students of Lab 20102計算機硬件系統(tǒng)組成(章節(jié)分配)運運 算算 器器控控 制制 器器主存儲器主存儲器輸入設(shè)備輸入設(shè)備輸出設(shè)備輸出設(shè)備 總線和總線和I/O接口接口高速緩存高速緩存虛擬存儲器虛擬存儲器(磁盤設(shè)備磁盤設(shè)備)第一部分第一部分(2,3章章)第二第二部分部分(5,6章章)第三第三部分部分(4,7,8章章)第四部分第四部分(9,10章章)3第3章 運算方法和運算部件(目錄部分)3.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換數(shù)據(jù)的表示方法和轉(zhuǎn)換

2、3.2 二進制表示方法與加減法二進制表示方法與加減法3.3 二進制乘法運算二進制乘法運算3.4 二進制除法運算二進制除法運算3.5 浮點數(shù)的運算方法浮點數(shù)的運算方法3.6 運算部件運算部件3.7 數(shù)據(jù)校驗碼數(shù)據(jù)校驗碼43.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換1、數(shù)制 進位計數(shù)制: 用少量的數(shù)字符號(也稱數(shù)碼),按先后次序把它們排成數(shù)位,由低到高進行計數(shù),計滿進位,這樣的方法稱為進位計數(shù)制q基數(shù):進位制的基本特征數(shù),即所用到的數(shù)字符號個數(shù)。例如10進制 :09 十個數(shù)碼表示,基數(shù)為10, q權(quán): 進位制中各位“1”所表示的值為該位的權(quán) 常見的進位制: 2,8,10,16進制53.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換-十

3、進制十進制(Decimal)(Decimal) 基數(shù):10; 符號:0,1,2,3,4,5,6,7,8,9 計算規(guī)律:“逢十進一 ”或“借一當(dāng)十” 并列表示(N)10=dmdm-1 d1d0d-1d-2 d-k 十進制數(shù)的多項式表示: (N)10=dm 10m + dm-1 10m-1 + d1 101 + d0 100 + d-1 10-1 + d-2 10-2 + d-k 10-k m,k為正整數(shù),其中n為整數(shù)位數(shù);m為小數(shù)位數(shù)。di表示第i位的系數(shù),10i稱為該位的權(quán).10為基數(shù).63.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換二進制二進制(Binary)(Binary) 基數(shù):2 符號:0,1 計算規(guī)律

4、:逢二進一或借一當(dāng)二 二進制的多項式表示: (N)2=dm 2m + dm-1 2m-1 + d1 21 + d0 20 + d-1 2-1 + d-2 2-2 + d-k 2-k 其中m為整數(shù)位數(shù);k為小數(shù)位數(shù)。di表示第i位的系數(shù),2i稱為該位的權(quán). 73.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換例例3.1:(1101.0101)2=123+ 122 + 021 + 120 + 02-1 + 12-2 + 02-3 + 12-4 =(8+4+0+1+0+0.25+0+0.0625)10 =(13.3125)10 八進制數(shù)八進制數(shù)(Octadic):基數(shù)8,符號:0,1,27十六進制數(shù)十六進制數(shù)(Hexad

5、ecimal): 基數(shù)16, 符號:09,A,B,C,D,E,F83.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換 十 進 制 數(shù) 二 進 制 數(shù) 八 進 制 數(shù) 十 六 進 制 數(shù) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 000 0 001 0 010 0 011 0 100 0 101 0 110 0 111 1 000 1 001 1 010 1 011 1 100 1 101 1 110 1 111 10 000 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 0 1 2 3 4 5 6 7 8 9 A B C D E F

6、 10 表3.1 二、八和十六進制數(shù)的對應(yīng)關(guān)系9 二進制二進制 十六進制十六進制 十進制十進制 二進制二進制 十進制十進制 十六進制十六進制降冪法降冪法 除法除法3.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換10 二進制二進制 十六進制十六進制 0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B = 35BFH A 1 9 C 1010 0001 1001 1100 A19CH = 1010,0001,1001,1100B3.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換11 1011B = 23+21+20=11D 降冪法降冪法 除法除法 例例: 27D = ? B 27 11 3 3

7、 1 - - - - 2n 16 8 4 2 1 1 1 0 1 1 27D = 11011B 二進制二進制 十進制十進制3.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換12 十六進制十六進制 十進制十進制 BF3CH = 11163 +15162 +3161 +12160 = 48956D 降冪法降冪法 除法除法 例例:399D = ? H 399 143 15 399/1624/161/16 0 - - - 16n 256 16 1 F 8 1 1 8 F 399D = 18FH3.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換133.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換(1)二進制數(shù)、八進制數(shù)、十六進制數(shù)之間的轉(zhuǎn)換例:二 八轉(zhuǎn)換(1 101

8、.010 1)2=(001 101.010 100)2=(15.24)8 (1 1101.0101)2=(0001 1101.0101)2=(1D.5)16二 十六轉(zhuǎn)換反過來,八、十六二進制 127.3Q = 1010111.011B9A1.FH=100110100001.1111B143.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換八進制數(shù)、十六進制數(shù)之間的轉(zhuǎn)換? 先轉(zhuǎn)換成二進制數(shù),再轉(zhuǎn)換。107.01Q=( )B=( )H107.01Q=( 1000111.000001)B =(47.04)H153.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換注意例如198.375 /16這樣格式 轉(zhuǎn)換的技巧: 分子先轉(zhuǎn)換成二進制數(shù)分子先轉(zhuǎn)換成

9、二進制數(shù),再移位。再移位。198.375 /16=( )B=( )H198.375 /16 =( 1100.0110011)B163.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換(2)十進制轉(zhuǎn)換成二進制方法v一般分為兩個步驟:整數(shù)部分的轉(zhuǎn)換 除2取余法 降冪法小數(shù)部分的轉(zhuǎn)換 乘2取整法 降冪法173.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換:把給定的除以基數(shù),取余數(shù)作為最低位的系數(shù),然后繼續(xù)將商部分除以 基數(shù),余數(shù)作為次低位系數(shù),重復(fù)操作直至商為 0例如:用基數(shù)除法將(327)10轉(zhuǎn)換成二進制數(shù)2 327 余數(shù)2 163 1 2 81 1 2 40 1 2 20 0 2 10 0 2 5 0 2 2 1 2 1 0 2 0 1

10、(327)(327)10 10 =(101000111) =(101000111) 2 2183.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換先將二進制數(shù)各位的權(quán)寫出來: 327256,128,64,32,16,8,4,2,1 1 0 1 0 0 0 1 1 1:19先將二進制數(shù)各位的權(quán)寫出來: 198.375256,128,64,32,16,8,4,2,1. 1 1 0 0 0 1 1 0.0.5, 0.25, 0.125, 0.0625, . 0 1 13.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換:203.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換數(shù)據(jù)符號的表示數(shù)據(jù)符號的表示 名詞解釋:真值和機器數(shù) 真值真值:正、負號加某進制數(shù)絕對值的形式稱

11、為真值。(計算機外界的數(shù)(現(xiàn)表示為二進制)如二進制真值: X=+1011 y=-1011 機器數(shù)機器數(shù):符號數(shù)碼化的數(shù)稱為機器數(shù)如 :X=01011 Y=11011 機器數(shù)有三種表示方式:原碼、補碼和反碼。機器數(shù)的長度受字長限制。 先假設(shè)機器數(shù)為小數(shù),符號位放在最左邊,小數(shù)點置于符號位與數(shù)值之間,數(shù)的真值用X表示。213.1.2 十進制數(shù)的編碼與運算 十進制數(shù)有0-9十個符號,用二進制編碼需4位. 而4位二進制數(shù)有16 種編碼,只需10種. 分為有權(quán)碼和無權(quán)碼1. 十進制數(shù)位的編碼與運算223.1.2 十進制數(shù)的編碼與運算BCD碼可以直接進行十進制運算,但結(jié)果9或產(chǎn)生進(借)位時,要進行加(減

12、)6修正。Why?例如:2 51 7 4 2BCD碼運算:0010 01010001 01110011 1100 0110 0100 0010 23例:18+29=47 0 0 0 1 1 0 0 0 + 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 + 0 1 1 0 0 1 0 0 0 1 1 13.1.2 十進制數(shù)的編碼與運算24另外幾種有權(quán)碼:2421,5211,4311 見表3.2同樣用4位二進制碼表示一個十進制數(shù),但4位二進制碼 之間不符合二進制規(guī)則。另一特點:任何兩個相加之和等于(9)10的二進制碼互為補碼。如:2421碼中:0(0000)與9(1111) 1(

13、0001)與8(1110)3.1.2 十進制數(shù)的編碼與運算25(2)無權(quán)碼表示一個十進制數(shù)位的二進制碼的每一位沒有確定的權(quán)。常見的是:余3碼(Excess-3)和Gray Code)余3碼編碼規(guī)則:在8421碼基礎(chǔ)上加3.格雷碼編碼規(guī)則:任何兩個相鄰編碼只有一位二進制位不同。優(yōu)點:構(gòu)成計數(shù)器時譯碼波形好。3.1.2 十進制數(shù)的編碼與運算26十進制數(shù)余3碼格雷碼(1) 格雷碼(2)012表3.3 00110000000001000001010001010011011030110001000104011101101010510001110101161001101000117101010000001

14、81011110010019110001001000273.1.2 十進制數(shù)的編碼與運算(1)有權(quán)碼一般為8421碼,其4位二進制數(shù)的權(quán)由高到低為8、4、2、10-9 剛好為0000,0001,0010,.1000,1001稱之為“以二進制編碼的十進制數(shù)”(binary coded decimal)簡稱BCD碼283.1.2 十進制數(shù)的編碼與運算2.數(shù)字串在機內(nèi)的表示與存儲 主要有兩種形式; (l)字符形式、即一個字節(jié)存放一個十進制數(shù)位或符號位,存放的是09十個數(shù)字和正負號的ASCll編碼值。 例如:123的編碼為2B 31 32 33 , 占用 4個連續(xù)的字節(jié)。 一123 為 2D 31 3

15、2 3329nASCII字符編碼表字符編碼表303.1.2 十進制數(shù)的編碼與運算 (2)壓縮的十進制數(shù)形式。 用一個字節(jié)存放兩個十進制數(shù)位,既節(jié)省了存儲空間,又便于完成十進制數(shù)的算術(shù)運算、其值用BCD碼或ASCll碼的低4位表示。符號位也占半個字節(jié)并放在最低數(shù)字位之后,其值可從4位二進制碼中的6種冗余狀態(tài)中選用。 例如:用C(l2)表示“”號;D(13)表示“一”號。 并規(guī)定數(shù)字和符號位個數(shù)之和必須為偶數(shù),否則在最高數(shù)字之前補一個0。 例如,123被表示成12 3C(2個字節(jié)), 一12被表示成01 2D(2個字節(jié))。313.23.2 q機器數(shù)的三種表示方法:原碼、補碼、反碼原碼、補碼、反碼

16、另有一種移碼。機器數(shù)機器數(shù):計算機中表示的帶符號的二進制數(shù)。真值真值:機器數(shù)所代表的實際值.323.2.3 3.2.3 u定點數(shù)的表示: 無符號數(shù)的表示;有符號數(shù)的表示 ,就是整個機器字長的全部,就是整個機器字長的全部二進制位均表示數(shù)值位(沒有符號位),二進制位均表示數(shù)值位(沒有符號位),相當(dāng)于數(shù)的絕對值。例如:相當(dāng)于數(shù)的絕對值。例如: N1=01001 表示無符號數(shù)表示無符號數(shù)9 N2=11001 表示無符號數(shù)表示無符號數(shù)25 機器字長為機器字長為n+1位的無符號數(shù)的表示位的無符號數(shù)的表示范圍是范圍是0(2n+1-1),此時二進制的最高位也,此時二進制的最高位也是數(shù)值位,其權(quán)值等于是數(shù)值位,

17、其權(quán)值等于2n。若字長為。若字長為8位,位,則數(shù)的表示范圍為則數(shù)的表示范圍為0255。 333.2.3 3.2.3 u定點數(shù)的表示: 無符號數(shù)的表示;有符號數(shù)的表示 ,即正、負數(shù)。在日,即正、負數(shù)。在日常生活中,我們用常生活中,我們用“+”、“-”號加絕對號加絕對值來表示數(shù)值的大小,用這種形式表示值來表示數(shù)值的大小,用這種形式表示的數(shù)值在計算機技術(shù)中稱為的數(shù)值在計算機技術(shù)中稱為“真值真值”。 在計算機中需要把數(shù)的符號數(shù)碼化。在計算機中需要把數(shù)的符號數(shù)碼化。通常,約定二進制數(shù)的最高位為符號位,通常,約定二進制數(shù)的最高位為符號位,“0”表示正號,表示正號,“1”表示負號。這種在表示負號。這種在計算

18、機中使用的表示數(shù)的形式稱為計算機中使用的表示數(shù)的形式稱為機器機器數(shù)數(shù)。343.2.3 3.2.3 u定點數(shù)的表示: 無符號數(shù)的表示;有符號數(shù)的表示 ,常見的機器數(shù)有原,常見的機器數(shù)有原碼、反碼、補碼等碼、反碼、補碼等3種不同的表示形式。種不同的表示形式。 帶符號數(shù)的最高位被用來表示符號帶符號數(shù)的最高位被用來表示符號位,而不再表示數(shù)值位。前例中的位,而不再表示數(shù)值位。前例中的N1、N2 在這里的含義變?yōu)椋涸谶@里的含義變?yōu)椋?N1=01001 表示表示+9。 N2=11001 根據(jù)機器數(shù)的不同形式根據(jù)機器數(shù)的不同形式表示不同的值,如是原碼則表示表示不同的值,如是原碼則表示-9,補,補碼則表示碼則表

19、示-7,反碼則表示,反碼則表示-6。 353.23.2 定點小數(shù)定點小數(shù):小數(shù)點位置小數(shù)點位置固定在數(shù)的符號位之后固定在數(shù)的符號位之后、數(shù)值最高位之前、數(shù)值最高位之前。定點整數(shù)定點整數(shù):小數(shù)點位置小數(shù)點位置固定在數(shù)的最低位之后固定在數(shù)的最低位之后363.23.2 n定點小數(shù)表示范圍定點小數(shù)表示范圍n位數(shù)值位數(shù)符小數(shù)點位置(隱含)XsX1Xn-1Xn圖圖3-1 定點小數(shù)格式定點小數(shù)格式 當(dāng)當(dāng)Xs=0,X1Xn=1時,時,X為最大正數(shù)。為最大正數(shù)。 X最大正數(shù)最大正數(shù) =1-2-n 當(dāng)當(dāng)Xn=1,XsXn-1=0時,時,X為最小正數(shù)。為最小正數(shù)。 X最小正數(shù)最小正數(shù) =2-n37 當(dāng)當(dāng)Xs=1,表

20、示,表示X為負數(shù),此時情況要為負數(shù),此時情況要稍微復(fù)雜一些,這是因為在計算機中帶符稍微復(fù)雜一些,這是因為在計算機中帶符號數(shù)可用補碼表示,也可用原碼表示。原號數(shù)可用補碼表示,也可用原碼表示。原碼和補碼的表示范圍有一些差別。碼和補碼的表示范圍有一些差別。 若機器數(shù)為原碼表示,當(dāng)若機器數(shù)為原碼表示,當(dāng)XsXn均等均等于于1時,時,X為絕對值最大的負數(shù)。為絕對值最大的負數(shù)。 X絕對值最大負數(shù)絕對值最大負數(shù)=-(1-2-n) 若機器數(shù)為補碼表示,當(dāng)若機器數(shù)為補碼表示,當(dāng)Xs=1,X1Xn均等于均等于0時,時,X為絕對值最大的負數(shù)。為絕對值最大的負數(shù)。 X絕對值最大負數(shù)絕對值最大負數(shù)=-13.23.2 n

21、定點小數(shù)表示范圍定點小數(shù)表示范圍(續(xù)續(xù))383.23.2 n定點小數(shù)表示范圍定點小數(shù)表示范圍(續(xù)續(xù)) 若機器字長有若機器字長有n+1位,則有:位,則有: 原碼定點小數(shù)表示范圍:原碼定點小數(shù)表示范圍: -(1-2-n)(1-2-n) 補碼定點小數(shù)表示范圍:補碼定點小數(shù)表示范圍: -1(1-2-n) 若機器字長有若機器字長有8位,則有:位,則有: 原碼定點小數(shù)表示范圍:原碼定點小數(shù)表示范圍: - 補碼定點小數(shù)表示范圍:補碼定點小數(shù)表示范圍: -1128127128127128127393.23.2 n定點整數(shù)表示范圍定點整數(shù)表示范圍 定點整數(shù)即純整數(shù),定點整數(shù)即純整數(shù),小數(shù)點位置隱小數(shù)點位置隱含固

22、定在最低有效數(shù)位之后含固定在最低有效數(shù)位之后,記作,記作XsX1X2Xn。圖圖- 定點整數(shù)格式定點整數(shù)格式XsX1Xn-1n位數(shù)值位數(shù)符小數(shù)點位置(隱含)Xn403.23.2 n定點整數(shù)表示范圍定點整數(shù)表示范圍(續(xù)續(xù))若機器字長有若機器字長有n+1位,則有:位,則有:原碼定點整數(shù)的表示范圍:原碼定點整數(shù)的表示范圍: -(2n-1)(2n-1)補碼定點整數(shù)的表示范圍:補碼定點整數(shù)的表示范圍: -2n (2n-1)若機器字長有若機器字長有8位,則有:位,則有:原碼定點整數(shù)表示范圍:原碼定點整數(shù)表示范圍: -127127補碼定點整數(shù)表示范圍:補碼定點整數(shù)表示范圍: -12812741下面先討論,即:

23、符號位在最左邊,小數(shù)點置于符號位和數(shù)值之間。3.23.2 3.2.13.2.1 原碼、補碼、反碼及其加減法運算原碼、補碼、反碼及其加減法運算 原碼表示法:“0”表示正數(shù), “1”表示負數(shù)。數(shù)值部分用二進制的絕對值表示。1.1.原碼表示法原碼表示法原碼定義X原 =X 0X1 1-X=1+|X| -1X0即: X原 = 符號位+|X| (3.5)423.23.2 u定點小數(shù)的原碼圖形示意圖433.23.2 原碼表示法是一種最簡單的機器數(shù)原碼表示法是一種最簡單的機器數(shù)表示法,用最高位表示符號位,符號位表示法,用最高位表示符號位,符號位為為“0”表示該數(shù)為正,符號位為表示該數(shù)為正,符號位為“1”表表示

24、該數(shù)為負,數(shù)值部分與真值相同。示該數(shù)為負,數(shù)值部分與真值相同。 設(shè)二進制設(shè)二進制純小數(shù)純小數(shù)的原碼形式為的原碼形式為Xs.X1X2Xn,字長,字長n+1位,其中位,其中Xs表示表示符號位。符號位。 例例1:X1=0.0110, X1原原=0.0110 X2=-0.0110, X2原原=1.0110443.23.2 設(shè)二進制設(shè)二進制純整數(shù)純整數(shù)的原碼形式為的原碼形式為XsX1X2Xn,其中,其中Xs表示符號位。表示符號位。 例例2: X1=1101, X1原原=01101 X2=-1101, X2原原=11101 在原碼表示中,真值在原碼表示中,真值0有兩種不同的有兩種不同的表示形式:表示形式:

25、 +0原原=00000 -0原原=10000453.23.2 例:完成下列數(shù)的真值到原碼的轉(zhuǎn)換X1 = + 0.1011011 X2 = - 0.1011011 X = 0- X =-+ 0.1011011 = 1根據(jù)定義:根據(jù)定義:注意:“0”有兩種表示:有兩種表示:0-1463.23.2 n原碼小數(shù)的表示范圍:最大值最大值 : 1- 2-(n-1) 最小值最小值:-(1- 2-(n-1)表示數(shù)的個數(shù): 2n 1 (+0和-0占兩個碼)n(設(shè)連同符號位共n位)+0.1111111原 -0.1111111原 =0.1111111 1.1111111 表示簡單,易于同真值之間進行轉(zhuǎn)換,實現(xiàn)乘除運

26、算規(guī)則表示簡單,易于同真值之間進行轉(zhuǎn)換,實現(xiàn)乘除運算規(guī)則簡單。簡單。 進行加減運算十分麻煩。進行加減運算十分麻煩。 兩數(shù)相加時,同號:數(shù)值相加;異號:相減 相減時,要比較絕對值大小,然后大數(shù)減小數(shù),最后還要選擇恰當(dāng)?shù)姆枴?73.23.2 原碼整數(shù)的表示范圍:(設(shè)連同符號位共n位)483.23.2 2. 補碼表示法補碼表示法n補碼的定義補碼的定義:正數(shù)的補碼就是正數(shù)的本身,正數(shù)的補碼就是正數(shù)的本身,負數(shù)的補碼是原負數(shù)加上模。負數(shù)的補碼是原負數(shù)加上模。n 模:模:計量器具的容量,或稱為模數(shù)(Mode)。4位字長的機器表示的二進制整數(shù)為: 00001111 共16種狀態(tài),模為16= 24 。 同余

27、同余是指兩整數(shù)是指兩整數(shù)A、B除以同一正整數(shù)除以同一正整數(shù)M,所得余數(shù)相同,所得余數(shù)相同,則稱則稱A、B對對M同余,即同余,即A、B在以在以M為模時是相等的,可寫作為模時是相等的,可寫作 A=B (mod M) u 整數(shù)整數(shù)N位字長的模值為位字長的模值為 2n(一個字長為一個字長為n+1位位的純整數(shù)的模為的純整數(shù)的模為2n+1 );一;一位符號位的純小數(shù)的位符號位的純小數(shù)的模值為模值為2。 493.23.2 X 0X10X1 x補= 2+X=2 |X| 1X01XALU,B-ALU,ALUA-ALU,B-ALU,ALU運算運算(A+B),ALU-A(A+B),ALU-AA A B : A-AL

28、U,B-ALU,ALU+1 (A+B+1),ALU-A B : A-ALU,B-ALU,ALU+1 (A+B+1),ALU-A653.23.2 4. 原碼、補碼、反碼之間的轉(zhuǎn)換例:X= -0.1001001 X原=1.1001001 1.0110110 + 1 X補=1.01101111.由原碼求補碼正數(shù) : X補=X原負數(shù) : 符號不變,其余各位取反,末位加1。663.23.2 n由真值、原碼轉(zhuǎn)換為補碼由真值、原碼轉(zhuǎn)換為補碼 當(dāng)當(dāng)X為正數(shù)時,為正數(shù)時,X補補=X原原=X 當(dāng)當(dāng)X為負數(shù)時,由為負數(shù)時,由X原原轉(zhuǎn)換為轉(zhuǎn)換為X補補的的方法:方法: X原原除掉符號位外的各位取反加除掉符號位外的各位取

29、反加“1”。 自低位向高位,尾數(shù)的第一個自低位向高位,尾數(shù)的第一個“1”及其右部的及其右部的“0”保持不變,左部的各位取保持不變,左部的各位取反,符號位保持不變。反,符號位保持不變。 例:例: X原原 =1.1110011000 X補補 =1.0001101000不變不變不變不變變反變反672.由補碼求原碼正數(shù) : X補=X原負數(shù) : 符號不變,其余各位取反,末位加1。例:X= -0.1 0 0 1 0 0 1 X補= 1. 0 1 1 0 1 1 1 1. 1 0 0 1 0 0 0 + 1 X原= 1. 1 0 0 1 0 0 13.23.2 685.整數(shù)的表示形式設(shè)X=Xn.X2X1X0

30、, 其中Xn為符號位。 X 0X20X2n x原= 2n X=2n + |X| 2 2n X0X03.23.2 X 0X20X2n x補= 2n+1 + X=2n+1 |X| 2 2n XX 00 X 0X20X2n x反= ( 2n+1-1) + X 2 2n XX 00(3.8)(3.9)(3.10)693.23.2 n利用補碼原碼定義公式證明題利用補碼原碼定義公式證明題.例例:已知:X原=1,X1X2Xn 求證: X補=1,X1X2Xn+1證明證明: 因為因為X原原=2n-X X補補=2n+1+X X原原+X補補=2n+2n+1 所以所以X補補=2n+1+2n - X原原 = 2n+1+

31、2n - 1,X1X2Xn = 2n+1+2n - 2n - X1X2Xn = 2n+1 - X1X2Xn = 2n+ 2n - X1X2Xn3.23.2 n利用補碼原碼定義公式證明題利用補碼原碼定義公式證明題.(續(xù)續(xù))例例:已知:X原=1,X1X2Xn 求證: X補=1,X1X2Xn+1證明證明: 所以所以X補補=2n+1+2n - X原原 = 2n+ 2n - X1X2Xn = 2n+ (2n -1)+1- X1X2Xn = 2n+ (2n -1) - X1X2Xn+1 此時此時, (2n -1) =111,共計共計n個個1,而而111 - X1X2Xn 即為對每位Xi求反.所以, X補補

32、= 2n+ X1X2Xn+1=1, X1X2Xn+1同理, X補=1,X1X2Xn, 則X原= 2n+1+2n - X補補=1, X1X2Xn+171溢出:運算結(jié)果超出機器數(shù)所能表示的范圍 時,稱為溢出。如:補碼定點小數(shù)所能表示的范圍(1 -1) 8位整數(shù)補碼范圍:(-128+127)什么情況下會產(chǎn)生溢出?什么情況下會產(chǎn)生溢出? 相同符號數(shù)相減,相異符號數(shù)相加不會產(chǎn)生溢出。 兩個相同符號數(shù)相加,其結(jié)果符號與被加數(shù)相反則產(chǎn)生溢出; 兩個相異符號數(shù)相減,其運算結(jié)果符號與被減數(shù)相同,否則產(chǎn)生溢出。72 以以4位二進制補碼整數(shù)加法為例位二進制補碼整數(shù)加法為例:(-16+15)2. (-9)+(-5)=

33、-14 0 1 0 0 1+ 0 0 1 0 1 0 1 1 1 01. 9+5=14 1 0 1 1 1+ 1 1 0 1 1 1 1 0 0 1 03. 12+7=19 (溢出) 0 1 1 0 0+ 0 0 1 1 1 1 0 0 1 14. (-12)+(-7)=-19 (溢出) 1 0 1 0 0+ 1 1 0 0 1 1 0 1 1 0 1735. 14 1= 13 0 1 1 1 0+ 1 1 1 1 1 1 0 1 1 0 1 6. 14 + 1 = 13 1 0 0 1 0+ 0 0 0 0 1 1 0 0 1 1 1.符號判斷法 2.進位判斷法 3.雙符號法74 符號相同的

34、兩數(shù)相加時,結(jié)果的符號與加數(shù)不同,則溢出。即:溢出條件=fAfBfS+ fAfBfS75 當(dāng)任意符號兩數(shù)相加時,如果CCf,則溢出。 C 為數(shù)值最高位進位, Cf為符號位進位。即:溢出條件=C Cf + C Cf = C Cf76采用雙符號位fs1fs2 ,又稱“變形補碼”。正數(shù)的符號為00,負數(shù)為11。符號位參與運算,當(dāng)結(jié)果的兩個符號位不同時,為溢出。即:溢出條件= fs1fs2例3.29: 9+5=14 00 1 0 0 1+ 00 0 1 0 1 00 1 1 1 012+7=19 (溢出) 00 1 1 0 0+ 00 0 1 1 1 01 0 0 1 1 (上溢)77 是指小數(shù)點位置

35、可浮動的數(shù)據(jù)。通常表示為: N = M R E (例:0.10111 2110 )其中N為浮點數(shù), M為尾數(shù)(mantissa)E為階碼(exponent),R為階的基數(shù)(radix)R為常數(shù),一般為2,8,16。在一臺計算機中,所有數(shù)據(jù)的R都是相同的。因此,不需要在每個數(shù)據(jù)中表示出來。78: MsEM1位 n+1位 m位Ms是尾數(shù)的符號位,0表示正,1表示負。E為階碼,整數(shù)n+1位,1位符號位M為尾數(shù),m位。n尾數(shù)通常用規(guī)格化形式(即尾數(shù)用純小數(shù)形式給出,即尾數(shù)用純小數(shù)形式給出,而且尾數(shù)絕對值應(yīng)大于而且尾數(shù)絕對值應(yīng)大于1/R,即小數(shù)點后第一位不為,即小數(shù)點后第一位不為0。)表示,小數(shù)點后不能

36、為0。例:X=+0.0010111=0.101112-2 =0.10111 2-0010 =0.10111 21110 79: 規(guī)格化規(guī)格化: 為了在尾數(shù)中表示最多的有效數(shù)據(jù)位,同時使為了在尾數(shù)中表示最多的有效數(shù)據(jù)位,同時使浮點數(shù)具有唯一的表示形式,尾數(shù)應(yīng)當(dāng)采用規(guī)格化表示方浮點數(shù)具有唯一的表示形式,尾數(shù)應(yīng)當(dāng)采用規(guī)格化表示方法,即法,即尾數(shù)用純小數(shù)形式給出,而且尾數(shù)絕對值應(yīng)大于尾數(shù)用純小數(shù)形式給出,而且尾數(shù)絕對值應(yīng)大于1/R1/R,即小數(shù)點后第一位不為,即小數(shù)點后第一位不為0 0。 對于補碼表示的尾數(shù),其規(guī)格化后的數(shù)值滿足對于補碼表示的尾數(shù),其規(guī)格化后的數(shù)值滿足M-M-1/R1/R或或M1/RM

37、1/R。不符合這種規(guī)格的數(shù)據(jù)可通過修改階碼并。不符合這種規(guī)格的數(shù)據(jù)可通過修改階碼并同時移動尾數(shù)的方法使其滿足這種格式。同時移動尾數(shù)的方法使其滿足這種格式。規(guī)格化后規(guī)格化后正尾數(shù)的形式為:正尾數(shù)的形式為:0.1XXX0.1XXXX X 負尾數(shù)的形式為:負尾數(shù)的形式為:1.0XXX1.0XXXX Xn需要注意的是當(dāng)需要注意的是當(dāng)M=-1/2M=-1/2,對于原碼來說,是規(guī)格化數(shù),而對于補,對于原碼來說,是規(guī)格化數(shù),而對于補碼來說,不是規(guī)格化數(shù)。碼來說,不是規(guī)格化數(shù)。80例:將例:將0.00110.0011和和-0.0011-0.0011規(guī)格化表示。規(guī)格化表示。解:0.0011=0.001120=0

38、.1100 20-2 -0.0011補=1.1101 -0.0011的浮點表示為:2-0)2(21.010021.11010位左移規(guī)格化例:設(shè)浮點表示中,例:設(shè)浮點表示中,E=4E=4、MM補補=0.1000B=0.1000B,分別求出當(dāng),分別求出當(dāng)R=2R=2或或R=16R=16時表示的數(shù)值的大?。繒r表示的數(shù)值的大?。拷猓寒?dāng)R=2時: N=MRE=0.1000B 24=0.5 24=8 當(dāng)R=16時: N=MRE=0.1000B 164=0.5 164=32768 81n當(dāng)一個浮點數(shù)的尾數(shù)為0(不論階碼為何值)或階碼的值太小(階碼的值比能在機器中表示的最小值還小時),超出表示范圍時,該浮點數(shù)

39、看成零值,稱為。國際標(biāo)準(zhǔn),常用的浮點數(shù)有兩種格式:單精度浮點數(shù)32位,階碼8位,尾數(shù)24位。雙精度浮點數(shù)64位,階碼11位,尾數(shù)53位。n多數(shù)計算機中浮點數(shù)的尾數(shù)用補碼表示,階碼用補碼或移碼表示。浮點數(shù) 符號位階碼尾數(shù)總位數(shù)單精度182332雙精度111526482 X 0X0X 2n x補= 2n+1 +X 2n X0X0定義:x移= 2n +X 2nXX 2n (3.11)當(dāng)0X0X 2n時, x移= 2n +X= 2n + x補 (3.12)當(dāng) 2n X0X0時,時, x移= 2n +X= (2n+1 +X) 2n= x補 2n (3.13)v2n為符號位,因此,把 x補符號取反,即得x

40、移83 X=+1011 X補=01011 X移=11011 X=-1011 X補=10101 X移=00101移碼特點移碼特點:1.最高位為符號位,1表示正,0表示負。2.階碼只執(zhí)行加減運算,運算結(jié)果要修正(+2n),將符號位取反.3.0有唯一的編碼,即+0移=-0移=100000 當(dāng)階碼 2n時,稱為機器零,將階碼置成000000,不管尾數(shù)大小,都按浮點數(shù)下溢處理。84n浮點數(shù)的階碼采用移碼的原因浮點數(shù)的階碼采用移碼的原因 便于比較浮點數(shù)的大小。階碼大的,其對便于比較浮點數(shù)的大小。階碼大的,其對應(yīng)的真值就大,階碼小的,對應(yīng)的真值就應(yīng)的真值就大,階碼小的,對應(yīng)的真值就小。小。 簡化機器中的判零

41、電路。當(dāng)階碼全為簡化機器中的判零電路。當(dāng)階碼全為0,尾數(shù)也全為尾數(shù)也全為0時,表示機器零。時,表示機器零。85n定點、浮點表示法的區(qū)別定點、浮點表示法的區(qū)別數(shù)值的表示范圍數(shù)值的表示范圍 假設(shè)定點數(shù)和浮點數(shù)的字長相同,假設(shè)定點數(shù)和浮點數(shù)的字長相同,浮點表示法所能表示的數(shù)值范圍將遠遠大浮點表示法所能表示的數(shù)值范圍將遠遠大于定點數(shù)。于定點數(shù)。精度精度 對于字長相同的定點數(shù)和浮點數(shù)來說,對于字長相同的定點數(shù)和浮點數(shù)來說,浮點數(shù)雖然擴大了數(shù)的表示范圍,但這正浮點數(shù)雖然擴大了數(shù)的表示范圍,但這正是以降低精度為代價的,也就是數(shù)軸上各是以降低精度為代價的,也就是數(shù)軸上各點的排列更稀疏了。點的排列更稀疏了。86

42、n定點、浮點表示法的區(qū)別定點、浮點表示法的區(qū)別(續(xù)續(xù))數(shù)的運算數(shù)的運算 浮點運算要比定點運算復(fù)雜得多。浮點運算要比定點運算復(fù)雜得多。溢出處理溢出處理 在定點運算時,當(dāng)運算結(jié)果超出數(shù)的在定點運算時,當(dāng)運算結(jié)果超出數(shù)的表示范圍,就發(fā)生溢出。而在浮點運算時,表示范圍,就發(fā)生溢出。而在浮點運算時,運算結(jié)果超出尾數(shù)的表示范圍卻并不一定運算結(jié)果超出尾數(shù)的表示范圍卻并不一定溢出,只有當(dāng)階碼超出所能表示的范圍時,溢出,只有當(dāng)階碼超出所能表示的范圍時,才發(fā)生溢出。才發(fā)生溢出。87計算機中數(shù)據(jù)的數(shù)值范圍和精度 :機器所能表示的最大、最小數(shù)之間的范圍。:一個數(shù)的有效位數(shù)。32位定點整數(shù)(補碼)的范圍是:231 +2

43、31-1,精度為31位。32位浮點數(shù)數(shù)值范圍:2127 +(1-2 -23 )21271位8位23位精度為24位。883.3 二進制乘法運算3.3.1 定點數(shù)一位乘法定點數(shù)一位乘法3.3.2 定點數(shù)二位乘法定點數(shù)二位乘法3.3.3 陣列乘法器陣列乘法器 89 1.定點原碼一位乘法定點原碼一位乘法 假設(shè):假設(shè):X原原= = X0 X1 X2 Xn Y原原= = Y0 Y1 Y2 Yn XY原原= = X原原 Y原原 =(=(X0 Y0)|(X0 X1 X2 Xn ) (Y0 Y1 Y2 Yn )計算機中如何實現(xiàn)呢?先以手工計算為例。3.3.13.3.1 定點數(shù)一位乘法定點數(shù)一位乘法-原碼一位乘法

44、原碼一位乘法901 1、定點原碼一位乘法運算、定點原碼一位乘法運算 每次用一位乘數(shù)去乘被乘數(shù)。每次用一位乘數(shù)去乘被乘數(shù)。例. 0.11011.1011乘積乘積 P =P =X XY|Y|積符積符 S SP P= S= SX X S SY Y 手工計算方法:手工計算方法:問題:問題:(1(1)加數(shù)增多(由乘數(shù)位數(shù)決定)。)加數(shù)增多(由乘數(shù)位數(shù)決定)。 (2(2)加數(shù)的位數(shù)增多(與被乘數(shù)、乘數(shù)位數(shù)有關(guān))。)加數(shù)的位數(shù)增多(與被乘數(shù)、乘數(shù)位數(shù)有關(guān))。改進:改進:將將n n位乘轉(zhuǎn)化為位乘轉(zhuǎn)化為n n次次“累加與移位累加與移位”。 0.1101 0.1011 1101 1101 0000 1101 0.

45、10001111 加上符號:1.10001111部分積部分積3.3.13.3.1 定點數(shù)一位乘法定點數(shù)一位乘法-原碼一位乘法原碼一位乘法913.3.13.3.1 定點數(shù)一位乘法定點數(shù)一位乘法-原碼一位乘法原碼一位乘法例例3.31 X=0.1101, Y=0.1011 .1011 計算計算 X X Y Y手算手算 0.11010.1101 0.10110.1011 11011101 1101 1101 0000 0000 1101 1101 0.100011110.10001111部分積部分積問題:問題:1)加數(shù)增多(由乘數(shù)位數(shù)決定)。)加數(shù)增多(由乘數(shù)位數(shù)決定)。 2)加數(shù)的位數(shù)增多(與被乘數(shù)

46、、乘數(shù)位數(shù)有關(guān))。)加數(shù)的位數(shù)增多(與被乘數(shù)、乘數(shù)位數(shù)有關(guān))。92改進:改進:1. 將一次相加改為分步累加。每求得將一次相加改為分步累加。每求得 一一 個相加數(shù),就與上次部分積相加。個相加數(shù),就與上次部分積相加。 2. 將相加數(shù)左移改為部分積右移。將相加數(shù)左移改為部分積右移。 3. 部分積右移時,乘數(shù)寄存器同時右移,部分積右移時,乘數(shù)寄存器同時右移, 用乘數(shù)寄存器的最低位控制相加數(shù),用乘數(shù)寄存器的最低位控制相加數(shù), 同時最高位接收部分積右移出來的一同時最高位接收部分積右移出來的一 位。位。3.3.13.3.1 定點數(shù)一位乘法定點數(shù)一位乘法-原碼一位乘法原碼一位乘法933.3.13.3.1 定點

47、數(shù)一位乘法定點數(shù)一位乘法-原碼一位乘法原碼一位乘法機器實現(xiàn):機器實現(xiàn):每次將一位乘數(shù)所對應(yīng)的部分積與原部每次將一位乘數(shù)所對應(yīng)的部分積與原部分積的累加和相加,并移位。分積的累加和相加,并移位。設(shè)置寄存器:設(shè)置寄存器: A A:存放:存放部分積累加和部分積累加和、乘積高位乘積高位 B B:存放:存放被乘數(shù)被乘數(shù) C C:存放:存放乘數(shù)乘數(shù)、乘積低位乘積低位 設(shè)置初值:設(shè)置初值: A = 00.0000A = 00.0000 B = X = 00.1101 B = X = 00.1101 C = Y = 00.1011 C = Y = 00.1011 943.3.13.3.1 定點數(shù)一位乘法定點數(shù)一

48、位乘法-原碼一位乘法原碼一位乘法95步數(shù) 條件 操作 部分積 乘數(shù) 00.0000 .101 00.0000 .1011 1 1 1)C Cn n=1=1+X+X+ 00.1101+ 00.110100.00.1101110100.00.011001101 1.10.101 12 2)C Cn n=1=1+X+X+ 00.1101+ 00.11010 01 1. .0011001100.00.100110011111.1.10 03 3)C Cn n=0=0+0+0+ 00.0000+ 00.000000.00.1001100100.00.01000100111111. .1 14 4)C C

49、n n=1=1+X+X+ 00.1101+ 00.11010 01 1. .0001000100.00.1000100011111111XX原原YY原原 = 0.10001111= 0.10001111右移右移右移96 部分積 乘數(shù) 被乘數(shù): 1101 00 0000 1 0 1 1 +X 00 1101 00 1101 右移1位 00 0110 1 1 0 1 1 丟失 個位運算 +X 00 1101 01 0011 右移1位 00 1001 1 1 1 0 1 丟失 十位運算 +0 00 0000 00 1001 右移1位 00 0100 1 1 1 1 0 丟失 百位運算 +X 00 1

50、101 01 0001 右移1位 00 1000 1 1 1 1 1 丟失 千位運算 乘積高位 乘積低位 3.3.13.3.1 定點數(shù)一位乘法定點數(shù)一位乘法-原碼一位乘法原碼一位乘法973.3.13.3.1 定點數(shù)一位乘法定點數(shù)一位乘法-原碼一位乘法原碼一位乘法圖3.6乘法運算的控制流程98從流程圖可看到,原碼一位乘是通過循環(huán)迭代的辦法實現(xiàn)的。每次迭代得到的部分積(P0, P1 , Pn)可用以下式子表示:P0 = 0P1 = ( P0+ X Yn ) 2-1P2 = ( P1+ X Yn-1 ) 2-1.Pi+1 = ( Pi+ X Yn-i ) 2-1.Pn = ( Pn-1+ X Y1

51、) 2-1 Pn為乘積(3.14)v式子(3.14) 中的2-1表示二進制數(shù)據(jù)右移一位,相當(dāng)于乘以2-1 。993.3.13.3.1 定點數(shù)一位乘法定點數(shù)一位乘法補碼一位乘法補碼一位乘法(1)補碼與真值的轉(zhuǎn)換關(guān)系補碼與真值的轉(zhuǎn)換關(guān)系 設(shè)XX補補= X= X0 0.X.X1 1X X2 2X Xn n當(dāng)真值 X0時,X0=0,XX補補= = 0 0.X.X1 1X X2 2X Xn n= =X Xi i 2 2-i-i =X=X X X= =XX補補-2= 1.X-2= 1.X1 1X X2 2X Xn n 2 2=-1+=-1+0 0.X.X1 1X X2 2X Xn n = =-1+ -1+

52、 X Xi i 2 2-i-i ni=1當(dāng)真值 X|Y|,則溢出,否則繼續(xù)。,則溢出,否則繼續(xù)。 被除數(shù)(余數(shù))左移被除數(shù)(余數(shù))左移1位,與除數(shù)位,與除數(shù)Y相減,相減, 若余數(shù)大于等于若余數(shù)大于等于0,則商上,則商上1,余數(shù)左移,余數(shù)左移1位;位; 若余數(shù)小于若余數(shù)小于0,則商上,則商上0,恢復(fù)余數(shù),余數(shù)左移,恢復(fù)余數(shù),余數(shù)左移1位;位; 重復(fù)上述過程重復(fù)上述過程n次(除數(shù)的尾數(shù)位數(shù)),得到商及余數(shù)次(除數(shù)的尾數(shù)位數(shù)),得到商及余數(shù)122例題3.38 X= 0.1011 Y= 0.1101 Y補= 11.0011 被除數(shù)(余數(shù)) 商 操作說明 0 0 1 0 1 1 0 0 0 0 0 開始

53、情形 + 1 1 0 0 1 1 + -Y補 1 1 1 1 1 0 0 0 0 0 0 不夠減,商0 + 0 0 1 1 0 1 +Y,恢復(fù)余數(shù) 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 被除數(shù)與商左移1位 + 1 1 0 0 1 1 + -Y補Ri-1 0 0 1 0 0 1 0 0 0 0 1 夠減,商1 0 1 0 0 1 0 0 0 0 1 0 余數(shù)與商左移1位 + 1 1 0 0 1 1 + -Y補Ri 0 0 0 1 0 1 0 0 0 1 1 夠減,商1 0 0 1 0 1 0 0 0 1 1 0 余數(shù)與商左移1位 + 1 1 0 0 1 1 + -Y

54、補Ri+1 1 1 1 1 0 1 0 0 1 1 0 不夠減,商0 + 0 0 1 1 0 1 +Y,恢復(fù)余數(shù) 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 余數(shù)與商左移1位 + 1 1 0 0 1 1 + -Y補 0 0 0 1 1 1 0 1 1 0 1 夠減,商1123第3章 定點原碼一位除法 不恢復(fù)余數(shù)法 也稱 在恢復(fù)余數(shù)的除法中,下一步余數(shù):Ri=2*Ri-1 -Y R0=X若Ri0 Y0, X-Y0 X0 Y0 X-Y0 Y0 X0, (-X)-Y0 X+Y0得出結(jié)論:當(dāng)被除數(shù)X補(或部分余數(shù))與除數(shù)Y補同號時,如果得到的新部分余數(shù)ri補與除數(shù)同號,表示夠減

55、,否則為不夠減;當(dāng)被除數(shù)X補與除數(shù)Y補異號時,如果得到的新部分余數(shù)ri補與除數(shù)異號,表示夠減,否則為不夠減第3章 補碼一位除法(加減交替法)131132 X補= 1.0111 Y補= 0.1101 Y補= 11.0011 被除數(shù)(余數(shù)) 商 操作說明 1 1 0 1 1 1 0 0 0 0 0 開始情形 + 0 0 1 1 0 1 兩數(shù)異號,+ Y補 0 0 0 1 0 0 0 0 0 0 1 余數(shù)與除數(shù)同號,上商1 0 0 1 0 0 0 0 0 0 1 0 左移 1 1 0 0 1 1 上次商1,+ Y補 1 1 1 0 1 1 0 0 0 1 0 余數(shù)與除數(shù)異號,上商0 1 1 0 1

56、1 0 0 0 1 0 0 左移 + 0 0 1 1 0 1 上次商0,+ Y補 0 0 0 0 1 1 0 0 1 0 1 余數(shù)與除數(shù)同號,上商1 0 0 0 1 1 0 0 1 0 1 0 左移 1 1 0 0 1 1 上次商1,+ Y補 1 1 1 0 0 1 0 1 0 1 0 余數(shù)與除數(shù)異號,上商0 1 1 0 0 1 0 1 0 1 0 1 左移, 商的最低位恒置1 第3章 補碼一位加減交替除法(例3.40)133第3章 提高除法運算速度的方法舉例 跳0跳1除法 除法運算通過乘法操作來實現(xiàn) 例:X=0.1000 Y=0.1011 =1Y=0.0101, F0=1+ =1.0101X

57、0/Y0=(X* F0)/(Y*F0)=(0.1000*1.0101)/(0.1011*1.0101) =0.1011/0.1110 F1=2 Y0=2 0.1110=1.0010X1/Y1=(X0* F1)/(Y0*F1)=(0.1011*1.0010)/(0.1110*1.0010) =0.1100/0.1111134第3章 浮點數(shù)的加、減運算方法 設(shè)X=Mx*2Ex,Y= My*2Ey,求XY=? 規(guī)則: 對階:E=Ex-Ey;小階向大階看齊。 實現(xiàn)尾數(shù)的加(減)運算。 規(guī)格化處理 如果結(jié)果的兩個符號位的值不同,表示運算尾數(shù)結(jié)果溢出,應(yīng)“右規(guī)”,即尾數(shù)結(jié)果右移一位,階碼+1 如果最高數(shù)值

58、位與符號位相同,應(yīng)“左規(guī)”,此時尾數(shù)連續(xù)左移,直到最高數(shù)值位與符號位的值不同為止;同時從階碼中減去移位的位數(shù) 舍入處理 檢查是否溢出135第3章 浮點數(shù)的加、減運算方法(例) X=20100.11011011, Y=2100(-0.10101100) 計算過程: 對階操作:階差E=Ex補+Ey補=00010+11100=11110 X階碼小,Mx右移2位,保留階碼E=00100 Mx補=00 00110110 11 尾數(shù)相加:Mx補+My補=00 00110110 11+11 01010100 =11 10001010 11 規(guī)格化操作:左規(guī),移一位,結(jié)果=11 00010101 10 階碼減

59、1,E=00011 舍入:附加位最高位為1,在結(jié)果的最低位+1, 得新結(jié)果M補=11 00010110,M=0.11101010 判溢出:階符為00,不溢出,最終結(jié)果為X+Y=2011(0.11101010)136第3章 浮點數(shù)的乘法運算 X*Y=(Mx*My)*2(Ex+Ey) 規(guī)則: 檢測操作數(shù)是否為0,若其中有一個操作數(shù)為0,則置結(jié)果為0; 階碼相加,階符相同的加可能會溢出,若溢出,則作溢出處理;(階碼一般是移碼) 尾數(shù)相乘; 尾數(shù)乘積規(guī)格化,只有左規(guī). 舍入 截斷處理:無條件地丟掉正常尾數(shù)最低位之后的全部數(shù)值 舍入處理:運算過程中保留右移中移出的若干高位的值,然而再按某種規(guī)則用這些位上

60、的值修正尾數(shù) 判溢出137第3章 浮點數(shù)的乘法運算(例) X=250.1110011, Y=23(0.1110010) 計算過程 求乘積的階碼:Ex+Ey移=Ex移+Ey補=00011+00011=00110 尾數(shù)相乘:XY=1.0011001 1001010 (尾數(shù)部分) 規(guī)格化處理:本例已規(guī)格化不需再處理 舍入:積的低位部分最高位為1,據(jù)0舍1入,給積的高位部分的最低位加1,因此XY=1.0011010 (尾數(shù)部分) 判溢出:階碼未溢出138第3章 浮點數(shù)的舍入處理 截斷處理:無條件地丟掉正常尾數(shù)最低位之后的全部 數(shù)值 舍入處理: 最低位恒置1 除非最低位與移出位均為0, 否則最低位置1

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論