




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機組成原理計算機組成原理Principles of Computer Composition2第二部分第二部分 數(shù)據(jù)的表示和運算數(shù)據(jù)的表示和運算 n 2.1 數(shù)制與編碼數(shù)制與編碼n 2.2 定點數(shù)表示和運算定點數(shù)表示和運算n 2.3 浮點數(shù)表示和運算浮點數(shù)表示和運算n 2.4 算術(shù)邏輯單元算術(shù)邏輯單元ALU3 2.2 定點數(shù)表示和運算定點數(shù)表示和運算 2.2.1 定點數(shù)的表示定點數(shù)的表示 1、無符號數(shù)的表示;、無符號數(shù)的表示; 2、有符號數(shù)的表示。、有符號數(shù)的表示。2.2.2 定點數(shù)的運算定點數(shù)的運算 1、定點數(shù)的位移運算;、定點數(shù)的位移運算; 2、原碼定點數(shù)的加、原碼定點數(shù)的加/減運算;
2、減運算; 3、補碼定點數(shù)的加、補碼定點數(shù)的加/減運算;減運算; 4、定點數(shù)的乘法運算、定點數(shù)的乘法運算42.2.1 定點數(shù)的表示定點數(shù)的表示定點數(shù)的表示定點數(shù)的表示所有數(shù)據(jù)的小數(shù)點位置固定不變所有數(shù)據(jù)的小數(shù)點位置固定不變理論上位置可以任意,但實際上數(shù)據(jù)表示有兩種方法理論上位置可以任意,但實際上數(shù)據(jù)表示有兩種方法(小數(shù)點位置固定(小數(shù)點位置固定- -定點表示法定點表示法/ /定點格式):定點格式): 純小數(shù)純小數(shù) 純整數(shù)純整數(shù)定點數(shù)表示:定點數(shù)表示: 有符號數(shù)有符號數(shù) 無符號數(shù)無符號數(shù)52.2.1 定點數(shù)的表示定點數(shù)的表示n1 1、無符號數(shù)的表示、無符號數(shù)的表示n在寄存器中的每一位均可用來存放數(shù)
3、值。在寄存器中的每一位均可用來存放數(shù)值。 8 位位 0 25516 位位 0 6553562.2.1 定點數(shù)的表示定點數(shù)的表示n2、有符號數(shù)的表示、有符號數(shù)的表示n定點純小數(shù)定點純小數(shù)x0 x1 x2 x3 xn-1 xn符號符號量值量值小數(shù)點固定于符號小數(shù)點固定于符號位之后,不需專門位之后,不需專門存放位置存放位置表示數(shù)的范圍是表示數(shù)的范圍是 0|12n72.2.1 定點數(shù)的表示定點數(shù)的表示n純小數(shù)的表示范圍純小數(shù)的表示范圍x=0.00.0 x=1.00.0 x=0正正0和負和負0都是都是0 x=0.11.1x=12n 最大最大x=0.00.01x=2n 最接近最接近0的正數(shù)的正數(shù)x=1.0
4、0.01 x=2n最接近最接近0的負數(shù)的負數(shù)x=1.11.1 x=(12n ) 最小最小82.2.1 定點數(shù)的表示定點數(shù)的表示n定點純整數(shù)定點純整數(shù)x x0 0 x x1 1 x x2 2 x x3 3 x xn-1 n-1 x xn n符號符號量值量值小數(shù)點固定于最后一位之小數(shù)點固定于最后一位之后,不需專門存放位置后,不需專門存放位置表示數(shù)的范圍是表示數(shù)的范圍是 0|2n192.2.1 定點數(shù)的表示定點數(shù)的表示定點表示法的特點定點表示法的特點定點數(shù)表示數(shù)的范圍受字長限制,表示數(shù)的范圍有限定點數(shù)表示數(shù)的范圍受字長限制,表示數(shù)的范圍有限; ;定點表示的精度有限定點表示的精度有限機器中,常用定點純
5、整數(shù)表示機器中,常用定點純整數(shù)表示; ;n常用的有:原碼、補碼、反碼和移碼常用的有:原碼、補碼、反碼和移碼102.2.1 定點數(shù)的表示定點數(shù)的表示n3、原碼表示、原碼表示(1) 定義定義x 為真值為真值n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)整數(shù)整數(shù)x原原 = 0,x 2n x 02n x 0 x 2n帶符號的絕對值表示帶符號的絕對值表示如如x = +1110 x原原 = 0 , 1110 x原原 = 24 + 1110 = 1 , 1110 x = 1110用用 逗號逗號 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開112.2.1 定點數(shù)的表示定點數(shù)的表示n小數(shù)小數(shù)x x 為真值為真值 x 1 x 0 x
6、x 原原 = = 1 x 0 x 1x = + 0.1101x原原 = 0 . 1101 x = 0.1101x原原 = 1 ( 0.1101) = 1 . 1101 x = 0.1000000 x原原 = 1 ( 0.1000000) = 1 . 1000000 x = + 0.1000000 x原原 = 0 . 1000000用用 小數(shù)點小數(shù)點 將符號將符號位和數(shù)值位隔開位和數(shù)值位隔開用用 小數(shù)點小數(shù)點 將符號將符號位和數(shù)值位隔開位和數(shù)值位隔開122.2.1 定點數(shù)的表示定點數(shù)的表示(2) (2) 舉例舉例例例 1 已知已知 x原原 = 1.0011 求求x解解:x = 1 x原原 = 1
7、 1.0011 = 0.00110.0011由定義得由定義得例例2 已知已知 x原原 = 1,1100 求求 xx = 24 x原原 = 10000 1,1100 = 1100 1100解解:由定義得由定義得132.2.1 定點數(shù)的表示定點數(shù)的表示例例 3 已知已知 x原原 = 0.1101 求求 x例例 4 求求 x = 0 的原碼的原碼解解:設設 x = +0.0000解:解: x = + 0.1101同理,對于整數(shù)同理,對于整數(shù)+ 0原原 = 0,0000+0.0000原原 = 0.0000 x = 0.0000 0.0000原原 = 1.0000 0原原 = 1,0000 + 0原原
8、0原原 根據(jù)根據(jù) 定義定義 x原原 = 0.1101142.2.1 定點數(shù)的表示定點數(shù)的表示n(3)原碼的表示范圍)原碼的表示范圍 n對于定點整數(shù):對于定點整數(shù):一個一個n+1位原碼能表示的最大正數(shù)為位原碼能表示的最大正數(shù)為0111,即,即2n-1;能;能表示的最小數(shù)為絕對值最大的負數(shù)表示的最小數(shù)為絕對值最大的負數(shù)1111,即即-(2n-1)。n所以原碼能表示的數(shù)值范圍為:所以原碼能表示的數(shù)值范圍為: -(2n-1) x 2n-1。 n對于定點小數(shù):對于定點小數(shù):一個一個n+1位定點小數(shù)原碼能表示的最大正數(shù)為位定點小數(shù)原碼能表示的最大正數(shù)為0.111,n即即1-2-n;能表示的最小數(shù)為絕對值最
9、大的負數(shù)為;能表示的最小數(shù)為絕對值最大的負數(shù)為1.111,即,即-(1-2-n)。定點小數(shù)原碼的數(shù)值范圍為:。定點小數(shù)原碼的數(shù)值范圍為: n -(1-2-n) x 1-2-n。 152.2.1 定點數(shù)的表示定點數(shù)的表示n(4 4) 原碼的特點原碼的特點:簡單、直觀:簡單、直觀n但是用原碼做加法時,會出現(xiàn)如下問題:但是用原碼做加法時,會出現(xiàn)如下問題:加法加法 正正 正正加加加法加法 正正 負負加法加法 負負 正正加法加法 負負 負負減減減減加加 要求要求 數(shù)數(shù)1 1 數(shù)數(shù)2 2 實際操作實際操作 結(jié)果符號結(jié)果符號正正可正可負可正可負可正可負可正可負負負能否能否 只做加法只做加法 ? ? 找到一個
10、與負數(shù)等價的正數(shù)找到一個與負數(shù)等價的正數(shù) 來代替這個負數(shù)來代替這個負數(shù)162.2.1 定點數(shù)的表示定點數(shù)的表示n(5)原碼的性質(zhì))原碼的性質(zhì)n1) 原碼的最高位表示數(shù)的符號,原碼的最高位表示數(shù)的符號,0表示正號,表示正號,1表示負號。表示負號。n 假設小數(shù)假設小數(shù)X的原碼為:的原碼為:X原原 = XS.Xn-1Xn-2X2X1X0,Xs是符號位,是符號位,可用下式來表示一個數(shù)的原碼:可用下式來表示一個數(shù)的原碼:n X原原 = Xs + |X|n2) 對于定點小數(shù),把對于定點小數(shù),把Xs作為數(shù)值位看待時,其位權(quán)為作為數(shù)值位看待時,其位權(quán)為1,則有:,則有:n 當當Xs=0時,時,1X原原0,故,
11、故1X=X原原0;n 當當Xs=1時,時,2X原原1,故,故01-X原原-1n 即即 2X原原0,其范圍是:,其范圍是:02-2-(n-1) ,真值為,真值為1X-1,其范圍是:,其范圍是:-(1-2 -(n-1) )+(1-2 -(n-1) )。n 3) 0不唯一不唯一n 定點小數(shù)定點小數(shù) +0原原 = 0.00n -0原原 = 1.00n 整數(shù)整數(shù) +0原原 = 000n -0原原 = 100172.2.1 定點數(shù)的表示定點數(shù)的表示4. 4. 補碼表示法補碼表示法(1) (1) 補的概念補的概念 時鐘時鐘逆時針逆時針- 363順時針順時針+ 9 615- 123可見可見 3 可用可用 +
12、9 代替代替記作記作 3 + 9 (mod 12)同理同理 4 + 8 (mod 12) 5 + 7 (mod 12) 時鐘以時鐘以 12為模為模減法減法 加法加法稱稱 + 9 是是 3 以以 12 為模的補數(shù)為模的補數(shù)182.2.1 定點數(shù)的表示定點數(shù)的表示n再如:再如:79-38=41 79+62=141n 如果要求是兩位十進制運算器,多余的如果要求是兩位十進制運算器,多余的100將自動丟棄。將自動丟棄。所以有所以有79-38=79+62n這里的這里的12和和100,在數(shù)學上叫做,在數(shù)學上叫做模。模。n模模是指一個計量系統(tǒng)的測量范圍,其大小以計量進制的基是指一個計量系統(tǒng)的測量范圍,其大小以
13、計量進制的基數(shù)為底,位數(shù)為指數(shù)的冪。兩位十進制數(shù)測量范圍數(shù)為底,位數(shù)為指數(shù)的冪。兩位十進制數(shù)測量范圍099,溢出量是溢出量是100,模就是,模就是102=100。192.2.1 定點數(shù)的表示定點數(shù)的表示n結(jié)論結(jié)論n一個負數(shù)加上一個負數(shù)加上 “模模” 即得該負數(shù)的補即得該負數(shù)的補兩個互為補數(shù)的數(shù)兩個互為補數(shù)的數(shù) 它們絕對值之和即為它們絕對值之和即為 模模 數(shù)數(shù)n 計數(shù)器(模計數(shù)器(模 1616)1011 0000 ? 101110110000+ 0101 101110000自然去掉自然去掉可見可見 1011 可用可用 + 0101 代替代替記作記作 1011 + 0101 (mod 24)同理同
14、理 011 + 101 (mod 23) 0.1001 + 1.0111 (mod 2)202.2.1 定點數(shù)的表示定點數(shù)的表示(2) 補碼定義補碼定義n整數(shù)整數(shù) x 為真值,為真值, n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)n例如:例如:x = +1010 則則 x補補 = 0,1010 x補補 = 0,x 2n x 02n+1 + x 0 x 2n(mod 2n+1)x = 1011000 x補補 = 27+1 +( 1011000 )= 10000000010110001,0101000用用 逗號逗號 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開212.2.1 定點數(shù)的表示定點數(shù)的表示n小數(shù)小數(shù)x 為真
15、值為真值x = + 0.1110 x補補 = x 1 x 02 + x 0 x 1(mod 2)如如x補補 = 0.1110 x = 0.11000001.0100000 x補補 = 2+( 0.1100000 )= 10.00000000.1100000用用 小數(shù)點小數(shù)點 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開222.2.1 定點數(shù)的表示定點數(shù)的表示n(3) (3) 求補碼的快捷方式求補碼的快捷方式= 100000= 1,011010101 + 1= 1,0110 又又x原原 = 1,1010則則x補補 = 24+1 1010= 11111 + 1 1010= 1111110101010+
16、 1設設 x = 1010 時時n當真值為當真值為 負負 時,補碼時,補碼 可用可用 原碼除符號位外,每位原碼除符號位外,每位取反,末位加取反,末位加 1 1 求得求得232.2.1 定點數(shù)的表示定點數(shù)的表示(4) (4) 舉例舉例解:解:x = + 0.0001解:由定義得解:由定義得x = x補補 2 = 1.0001 10.0000 x原原 = 1.1111例例 6 已知已知 x補補 = 1.0001求求 xx補補 x原原 ?由定義得由定義得例例 5 已知已知 x補補 = 0.0001 求求 x x = 0.1111 = 0.1111242.2.1 定點數(shù)的表示定點數(shù)的表示已知已知 x補
17、補 = 1,1110 求求 xn由定義:由定義:nx = x補補 2 4+1 n = 1,1110 100000n = 0010 x補補 x原原 ? x = 0010 x原原 = 1,0010n當真值為當真值為 負負 時,原碼時,原碼 可用可用 補碼除符號位外,每補碼除符號位外,每位取反,末位加位取反,末位加 1 1 求得求得252.2.1 定點數(shù)的表示定點數(shù)的表示n“0”的補碼表示法的補碼表示法n當當x=0時,時,n+0.0000補補=0.0000n-0.0000補補=2+(-0.0000)n =10.0000-0.0000=0.0000n顯然顯然+0補補=-0補補=0.0000,即補碼中的
18、,即補碼中的“零零”只有只有一種表示表示形式。一種表示表示形式。 262.2.1 定點數(shù)的表示定點數(shù)的表示(5)補碼的表數(shù)范圍。)補碼的表數(shù)范圍。一個一個n+1位整數(shù)補碼能表示的最大數(shù)是位整數(shù)補碼能表示的最大數(shù)是0111,即,即2n-1;能;能表示的最小數(shù)為表示的最小數(shù)為1000,即,即-2n。所以它能表示的數(shù)值范。所以它能表示的數(shù)值范圍是:圍是:-2n x 2n-1一個一個n+1位小數(shù)補碼能表示的最大數(shù)是位小數(shù)補碼能表示的最大數(shù)是0.111,即,即1-2-n;能表示的最小數(shù)為;能表示的最小數(shù)為1.00 0,即,即-1。所以它能表示的。所以它能表示的數(shù)值范圍是:數(shù)值范圍是:-1 x 1-2-n
19、對于小數(shù),若對于小數(shù),若x=-1,則根據(jù)小數(shù)補碼定義,有,則根據(jù)小數(shù)補碼定義,有x補補=2+x=10.0000-1.00001.0000。可見,??梢姡?1本不屬于小數(shù)范本不屬于小數(shù)范圍,但卻有圍,但卻有-1補存在(其實在小數(shù)補碼定義中已指明),補存在(其實在小數(shù)補碼定義中已指明),這是由于補碼中的零只有一種表示形式,故它比原碼能多這是由于補碼中的零只有一種表示形式,故它比原碼能多表示一個表示一個“-1”。272.2.1 定點數(shù)的表示定點數(shù)的表示(6)補碼的性質(zhì))補碼的性質(zhì)n1) 在補碼表示法中,在補碼表示法中,0的補碼是唯一的,即的補碼是唯一的,即n整數(shù)整數(shù)0 +0補補= 000n -0補補
20、= 2n+1-000 = 2n+1=000 (mod 2n+1)n小數(shù)小數(shù)0 +0補補= 0.000n -0補補= 2-0.000 = 2 =0.000 (mod 2)n 2) 假設一整數(shù)假設一整數(shù)X的補碼表示為:的補碼表示為:X補補=XSXn-1Xn-2X1X0,n XS是補碼的符號位,標志整數(shù)是補碼的符號位,標志整數(shù)X的符號,的符號,XS=0時,時,X為正數(shù);為正數(shù);XS=1時,時,X為負數(shù)。為負數(shù)。n 3) 補碼的表示范圍是:補碼的表示范圍是:n正整數(shù)正整數(shù) 2nX0n負整數(shù)負整數(shù) 0X-2nn 負數(shù)的范圍比正數(shù)范圍大,即多表示一個數(shù)負數(shù)的范圍比正數(shù)范圍大,即多表示一個數(shù)-2n。n 當當
21、X=-2n時,它的補碼為:時,它的補碼為:nX補補 = -2n補補 = 2n+1 -2n = 2n = 1000282.2.1 定點數(shù)的表示定點數(shù)的表示n5 5、反碼表示法、反碼表示法 (1) (1) 定義:整數(shù)反碼定義:整數(shù)反碼x反反 = 0,x 2n x 0( 2n+1 1) + x 0 x 2n(mod 2n+1 1)x x 為真值,為真值, n n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)如如x = +1101x反反 = 0,1101 = 1,0010 x = 1101x反反 = (24+1 1) 1101 = 11111 1101292.2.1 定點數(shù)的表示定點數(shù)的表示n小數(shù)反碼小數(shù)反碼x反反 =
22、x 1 x 0( 2 2-n) + x 0 x 1(mod 2 2-n)x 為真值為真值x = +0.1101x反反 = 0.1101x = 0.1010 x反反 = (2 2-4) 0.1010= 1.1111 0.1010= 1.0101如如302.2.1 定點數(shù)的表示定點數(shù)的表示n(2) (2) 舉例舉例例:例: 求求 0 的反碼的反碼設設 x = +0.0000 x = 0.0000則:則:+0.0000反反= 0.0000則:則: 0.0000反反= 1.1111 + 0反反 0反反 解:解:同理,對于整數(shù)同理,對于整數(shù)+0反反= 0,0000 0反反= 1,1111例:例: 已知已
23、知 x反反 = 1,1110 求求 x由定義得由定義得x = x反反 (24+1 1)= 1,1110 11111= 0001例例 :已知:已知 x反反 = 0,1110 求求 x解:解:由定義得由定義得 x = + 1110解:解:312.2.1 定點數(shù)的表示定點數(shù)的表示(3)“0”的反碼表示法的反碼表示法n當當x=0時,時,n+0.0000反反=0.0000n-0.0000反反=(10.0000-0.0001)-0.0000=1.1111n可見可見+0反反不等于不等于-0反反,即反碼中的,即反碼中的“零零”也有兩種表示形式。也有兩種表示形式。(4)反碼的表數(shù)范圍)反碼的表數(shù)范圍n定點整數(shù)反
24、碼的數(shù)值范圍為:定點整數(shù)反碼的數(shù)值范圍為:-(2n-1)x2n-1。n定點小數(shù)原碼的數(shù)值范圍為:定點小數(shù)原碼的數(shù)值范圍為:-(1-2-n)x1-2-n。實際上,反碼也可看作是實際上,反碼也可看作是mod(2-2-n)(對于小數(shù)對于小數(shù))或或mod(2n+1-1)(對對于整數(shù)于整數(shù))的補碼。與補碼相比,僅在末位差的補碼。與補碼相比,僅在末位差1,因此有些書上稱小數(shù)的,因此有些書上稱小數(shù)的補碼為補碼為2的補碼,而稱小數(shù)的反碼為的補碼,而稱小數(shù)的反碼為1的補碼。的補碼。322.2.1 定點數(shù)的表示定點數(shù)的表示n三種機器數(shù)的小結(jié)三種機器數(shù)的小結(jié)n最高位為符號位,書寫上用最高位為符號位,書寫上用“,”(
25、整數(shù))或(整數(shù))或“.”(小數(shù))(小數(shù))將數(shù)值部分和符號位隔開將數(shù)值部分和符號位隔開對于正數(shù),原碼對于正數(shù),原碼 = 補碼補碼 = 反碼反碼對于負數(shù)對于負數(shù) ,符號位為,符號位為 1,其,其 數(shù)值部分:數(shù)值部分: 原碼除符號位外每位取反末位加原碼除符號位外每位取反末位加 1 補碼補碼 原碼除符號位外每位取反原碼除符號位外每位取反 反碼反碼332.2.1 定點數(shù)的表示定點數(shù)的表示n例題:已知例題:已知 y補補 求求 y補補n解:解: y補補 = 0. y1 y2 ynn y = 0. y1 y2 yn 所以所以 - y = - 0. y1 y2 yn y補補 = 1.y1 y2 yn + 2-n
26、n y補補 = 1. y1 y2 yn 所以所以 y原原 = 1.y1 y2 yn + 2-ny = (0.y1 y2 yn + 2-n) 所以所以 y = 0. y1 y2 yn + 2-n y補補 = 0. y1 y2 yn + 2-nny補補連同符號位在內(nèi),每位取反,末位加連同符號位在內(nèi),每位取反,末位加 1即得即得- y補補342.2.1 定點數(shù)的表示定點數(shù)的表示n6 6、移碼表示、移碼表示n補碼表示很難直接判斷其真值大小補碼表示很難直接判斷其真值大小如如十進制十進制x = +21x = 21x = +31x = 31x + 25+10101 + 100000+11111 + 1000
27、0010101 + 10000011111 + 100000大大大大錯錯錯錯大大大大正確正確正確正確0,101011,010110,111111,00001+10101 10101+11111 11111= 110101= 001011= 111111= 000001二進制二進制補碼補碼352.2.1 定點數(shù)的表示定點數(shù)的表示n(1) (1) 移碼定義移碼定義 移碼在數(shù)軸上的表示移碼在數(shù)軸上的表示x移移 = 2n + x(2nx 2n)x 為真值,為真值,n 為為 整數(shù)的位數(shù)整數(shù)的位數(shù)x移碼移碼2n+112n2n 12n00真值真值如如x = 10100 x移移 = 25 + 10100= 1
28、,10100用用 逗號逗號 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開x = 10100 x移移 = 25 10100 = 0,0110036練習題練習題n1、一個、一個C語言程序在一臺語言程序在一臺32位機器上運行。程序中定義位機器上運行。程序中定義了三個變量了三個變量xyz,其中,其中x和和z是是int型,型,y為為short型。當型。當x=127,y=-9時,執(zhí)行賦值語句時,執(zhí)行賦值語句z=x+y后,后,xyz的值分別是的值分別是 n AX=0000007FH,y=FFF9H,z=00000076H n BX=0000007FH,y=FFF9H,z=FFFF0076H n CX=00000
29、07FH,y=FFF7H,z=FFFF0076H n DX=0000007FH,y=FFF7H,z=00000076H37練習題練習題n2、假定有、假定有4個整數(shù)用個整數(shù)用8位補碼分別表示位補碼分別表示r1=FEH,r2=F2H,r3=90H,r4=F8H,若將運算結(jié)果存放在一個,若將運算結(jié)果存放在一個8位寄存位寄存器中,則下列運算會發(fā)生溢出的是器中,則下列運算會發(fā)生溢出的是( )n A. r1 x r2 B. r2 x r3n C. r1 x r4 D. r2 x r438練習題練習題339練習題練習題n 40練習題練習題n(1)R1的內(nèi)容為的內(nèi)容為134,轉(zhuǎn)換為二進制,轉(zhuǎn)換為二進制1000
30、0110B,十六進制為十六進制為86H; R5的值為的值為x-y=-112,-01110000B,補碼表示,補碼表示10010000B=90H; R6的值為的值為x+y=380, 101111100B,7CH,溢,溢出。出。n(2)m的內(nèi)容為原的內(nèi)容為原x的值,的值,1000 0110B,為補碼表示,所以原,為補碼表示,所以原碼為碼為1111 1010B,即,即-122。 n的內(nèi)容二進制的內(nèi)容二進制1111 0110B,原碼為原碼為1000 1010B,即,即-10。所以。所以K1的內(nèi)容為的內(nèi)容為 -112。412.2.2 定點數(shù)的運算定點數(shù)的運算1、定點數(shù)的移位運算、定點數(shù)的移位運算n移位的
31、意義移位的意義 15 米米 = 1500 厘米厘米 小數(shù)點右移小數(shù)點右移 2 位位 機器中機器中 15 相對于小數(shù)點相對于小數(shù)點 左移左移 2 位位 左移:左移: 絕對值擴大絕對值擴大 右移:右移: 絕對值縮小絕對值縮小 在計算機中,移位與加減配合,能夠?qū)崿F(xiàn)乘除運算在計算機中,移位與加減配合,能夠?qū)崿F(xiàn)乘除運算422.2.2 定點數(shù)的運算定點數(shù)的運算n算術(shù)移位規(guī)則算術(shù)移位規(guī)則n 對有符號數(shù)的移位運算成為對有符號數(shù)的移位運算成為算術(shù)移位算術(shù)移位。n不論是正數(shù)還是負數(shù),移位后其符號位均不變,這是算術(shù)不論是正數(shù)還是負數(shù),移位后其符號位均不變,這是算術(shù)移位的重要特點。移位的重要特點。1右移右移 添添 1
32、左移左移 添添 00反反 碼碼補補 碼碼原原 碼碼負數(shù)負數(shù)0原碼、補碼、反碼原碼、補碼、反碼正數(shù)正數(shù)添補代碼添補代碼碼碼 制制432.2.2 定點數(shù)的運算定點數(shù)的運算(1)機器數(shù)為正時,不論左移或右移,添補代碼均為)機器數(shù)為正時,不論左移或右移,添補代碼均為0。(2)由于負數(shù)的原碼其數(shù)值部分與真值相同,故在移位時只要使)由于負數(shù)的原碼其數(shù)值部分與真值相同,故在移位時只要使符號位不變,其空位均添符號位不變,其空位均添0。(3)由于負數(shù)的反碼其各位除符號位外與負數(shù)的原碼正好相反,)由于負數(shù)的反碼其各位除符號位外與負數(shù)的原碼正好相反,故移位后所添的代碼應與原碼相反,即全部添故移位后所添的代碼應與原碼
33、相反,即全部添1。 (4)分析任意負數(shù)的補碼可發(fā)現(xiàn),當對其由低位向高位找到第一)分析任意負數(shù)的補碼可發(fā)現(xiàn),當對其由低位向高位找到第一個個“1”時,在此時,在此“1”左邊的各位均與對應的反碼相同,而在此左邊的各位均與對應的反碼相同,而在此“1”右邊的各位(包括此右邊的各位(包括此“1”在內(nèi))均與對應的原碼相同,即在內(nèi))均與對應的原碼相同,即添添0;右移時空位出現(xiàn)在高位,則添補的代碼應與反碼相同,;右移時空位出現(xiàn)在高位,則添補的代碼應與反碼相同,即添即添1。 442.2.2 定點數(shù)的運算定點數(shù)的運算n算術(shù)移位的特點:算術(shù)移位的特點:n對于正數(shù),三種機器數(shù)算術(shù)移位后符號位均不變,左移最高位丟對于正數(shù)
34、,三種機器數(shù)算術(shù)移位后符號位均不變,左移最高位丟1,結(jié)果錯誤;右移最低位丟結(jié)果錯誤;右移最低位丟1,影響精度。,影響精度。n對于負數(shù),三種機器數(shù)算術(shù)移位后符號位不變。對于負數(shù),三種機器數(shù)算術(shù)移位后符號位不變。n 原碼左移,高位丟原碼左移,高位丟1,結(jié)果出錯;原碼右移低位丟,結(jié)果出錯;原碼右移低位丟1,影響精度。,影響精度。n 補碼左移,高位丟補碼左移,高位丟0,結(jié)果出錯;補碼右移低位丟,結(jié)果出錯;補碼右移低位丟1,影響精度。,影響精度。n 反碼左移,高位丟反碼左移,高位丟0,結(jié)果出錯;反碼右移低位丟,結(jié)果出錯;反碼右移低位丟0,影響精度。,影響精度。452.2.2 定點數(shù)的運算定點數(shù)的運算n算
35、術(shù)移位的硬件實現(xiàn)算術(shù)移位的硬件實現(xiàn)(a a)真值為正)真值為正 (b b)負數(shù)的原碼)負數(shù)的原碼 (c c)負數(shù)的補碼)負數(shù)的補碼 (d d)負數(shù)的反碼)負數(shù)的反碼000100丟丟 1 1丟丟 1 1出錯出錯影響精度影響精度出錯出錯影響精度影響精度正確正確影響精度影響精度正確正確正確正確462.2.2 定點數(shù)的運算定點數(shù)的運算n邏輯移位邏輯移位n對無符號數(shù)的移位運算成為對無符號數(shù)的移位運算成為邏輯移位邏輯移位。n邏輯移位的規(guī)則邏輯移位的規(guī)則: :n 邏輯左移,高位丟失,低位補邏輯左移,高位丟失,低位補0 0n 邏輯右移,低位丟失,高位補邏輯右移,低位丟失,高位補0 0472.2.2 定點數(shù)的運
36、算定點數(shù)的運算n2 2、原碼定點數(shù)的加、原碼定點數(shù)的加/ /減運算減運算 兩個原碼表示的數(shù)相加,首先要判斷符號位:兩個原碼表示的數(shù)相加,首先要判斷符號位: 如果符號位相同,就把兩個數(shù)的絕對值相加,結(jié)果符號不如果符號位相同,就把兩個數(shù)的絕對值相加,結(jié)果符號不變;變; 如果符號位不相同,則做減法,將絕對值大的減去絕對值如果符號位不相同,則做減法,將絕對值大的減去絕對值小的,結(jié)果的符號與絕對值大的數(shù)的符號相同。小的,結(jié)果的符號與絕對值大的數(shù)的符號相同。 兩個原碼表示的數(shù)相減,首先將減數(shù)的符號取反,在按兩個原碼表示的數(shù)相減,首先將減數(shù)的符號取反,在按加法進行運算。加法進行運算。482.2.2 定點數(shù)的
37、運算定點數(shù)的運算n3、補碼定點數(shù)的加、補碼定點數(shù)的加/減運算減運算n(1)補碼加法)補碼加法 n補碼加法的特點:補碼加法的特點:符號位作為數(shù)的一部分參加運算,符號位的進位丟掉。符號位作為數(shù)的一部分參加運算,符號位的進位丟掉。運算結(jié)果為補碼形式運算結(jié)果為補碼形式n整數(shù)整數(shù) A補補 + B補補= A+B補補 (mod 2n+1)n小數(shù)小數(shù) A補補 + B補補= A+B補補 (mod 2)n n證明:任意兩個數(shù)的補碼之和,等于該兩個數(shù)的和的補證明:任意兩個數(shù)的補碼之和,等于該兩個數(shù)的和的補碼碼n 分四種情況:分四種情況:(|x|1,|y|1,|x+y|0或或0時時,2 () 2,進位進位2必丟失必丟
38、失,又因又因()0,故故補補補補補補當當0時時,2 () 2,又因又因()0,故故補補補補2()補補所以上式成立所以上式成立502.2.2 定點數(shù)的運算定點數(shù)的運算(3)0,則則0或或 0 這種情況和第這種情況和第2種情況一樣種情況一樣,把把和和的位置對調(diào)即得證。的位置對調(diào)即得證。 (4)0,0,則則0 相加兩數(shù)都是負數(shù)相加兩數(shù)都是負數(shù),則其和也一定是負數(shù)。則其和也一定是負數(shù)。補補2,補補2補補補補222(2)上式右邊分為上式右邊分為“2”和和(2)兩部分兩部分.既然既然()是負數(shù)是負數(shù),而其絕而其絕對值又小于對值又小于1,那么那么(2)就一定是小于就一定是小于2而大于而大于1的數(shù)的數(shù),進位進
39、位“2”必丟失必丟失.又因又因()0, 所以所以補補補補2()補補512.2.2 定點數(shù)的運算定點數(shù)的運算n例如:例如:x=0.1001,y=0.0101,求,求x+y=?n X補補=0.1001 Y補補=0.0101n X補補 0.1001n + Y補補 0.0101 所以,所以,x+y=0.1110X+Y補補 0.1110522.2.2 定點數(shù)的運算定點數(shù)的運算n例:設例:設 A = 9,B = 5,求,求 A+B補補n解:解:A補補= 1 , 0 1 1 1 B補補= 1 , 1 0 1 1n 1 , 0 1 1 1n +1 , 1 0 1 1 A補補 + B補補= 1,0 0 1 0n
40、 1 1 , 0 0 1 0 A + B = 1110532.2.2 定點數(shù)的運算定點數(shù)的運算n(2) 補碼減法補碼減法n因為因為 AB= A+(B ),所以有補碼減法:,所以有補碼減法:n整數(shù)整數(shù) A B補補= A+(B )補補= A補補 + B補補 (mod 2n+1)n小數(shù)小數(shù) A B補補= A+(B )補補= A補補 + B補補 (mod 2) 連同符號位一起相加,符號位產(chǎn)生的進位自然丟掉連同符號位一起相加,符號位產(chǎn)生的進位自然丟掉542.2.2 定點數(shù)的運算定點數(shù)的運算n證明:證明:(|x|1,|y|1,|x+y|x0 x補補= 4+x 0 x -2 Sf1 SF2 0 0正確(正數(shù)
41、)正確(正數(shù))0 1上溢上溢1 0下溢下溢1 1正確(負數(shù))正確(負數(shù)) Sf1 表示正確的符號,邏輯表達式為表示正確的符號,邏輯表達式為V=Sf1 Sf2,可以用異或門來實可以用異或門來實現(xiàn)現(xiàn)592.2.2 定點數(shù)的運算定點數(shù)的運算n例如:例如:X=+0.1100 Y=+0.1000,求,求X+Yn X補補 00.1100n + Y補補 00.1000n n X+Y補補 01.0100 n n 結(jié)果符號位出現(xiàn)結(jié)果符號位出現(xiàn)01,表示已溢出,即結(jié)果大于,表示已溢出,即結(jié)果大于1。602.2.2 定點數(shù)的運算定點數(shù)的運算單符號位法單符號位法nCf C000正確(正數(shù))正確(正數(shù))01上溢上溢10下溢下溢11正確(負數(shù))正確(負數(shù))nV=Cf C0 其中其中Cf為符號位產(chǎn)生的進位為符號位產(chǎn)生的進位,C0為最高有效位為最高有效位產(chǎn)生的進位產(chǎn)生的進位612.2.2 定點數(shù)的運算定點數(shù)的運算n補碼加減法的硬件配置補碼加減法的硬件配置V0 A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國家飾布藝品數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國低溫雙門食具消毒柜數(shù)據(jù)監(jiān)測研究報告
- 內(nèi)科三基培訓試題及答案
- 江蘇省南京師范大學附屬中學2024-2025學年高一上學期期末考試化學試卷(含答案)
- 河北省部分學校2024-2025學年高三下學期3月聯(lián)考思想政治試題(含答案)
- 施工類承包商部門級環(huán)境培訓試題
- 2025年消防設施操作員之消防設備高級技能能力提升試卷A卷附答案
- 2024廣東省中考英語真題【原卷版】
- 采購與項目執(zhí)行分包合同(2篇)
- 鋼管腳手架分包合同
- 中醫(yī)藥膳學(上篇總論)課件
- 勞動創(chuàng)造美好生活教案完整版精
- 6提高電纜線路施工質(zhì)量一次合格率QC成果
- 2021年福建省南平市第一醫(yī)院醫(yī)護人員招聘筆試試題及答案解析
- GB∕T 17587.1-2017 滾珠絲杠副 第1部分:術(shù)語和符號
- 土石壩設計畢業(yè)設計
- 【分享貼】2018AFP案例結(jié)業(yè)題目10:青年家庭限購政策下的公寓商鋪答案解析
- 三年級學生學情分析
- 高中化學競賽-中級無機化學--金屬原子簇word版本
- 沖壓工藝與模具設計拉深
- 水泥穩(wěn)定碎石配合比設計報告7頁
評論
0/150
提交評論