附、計算機中的信息表示-數(shù)制和編碼 2_第1頁
附、計算機中的信息表示-數(shù)制和編碼 2_第2頁
附、計算機中的信息表示-數(shù)制和編碼 2_第3頁
附、計算機中的信息表示-數(shù)制和編碼 2_第4頁
附、計算機中的信息表示-數(shù)制和編碼 2_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1-2 計算機中的數(shù)制與碼制計算機中的數(shù)制與碼制內(nèi)容要求內(nèi)容要求1.2,10,16進制之間的轉(zhuǎn)換(包括整數(shù)和小數(shù));2.數(shù)的原碼、反碼和補碼表示(整數(shù)),包括表示范圍和表示方法;3.補碼的加、減運算,以及溢出判斷。習(xí)題一習(xí)題一1.寫出8位和16位原碼、反碼和補碼的表示范圍。2.數(shù)制轉(zhuǎn)換:248D = H; 101011011001B = H;120.5625D = B; 7FFFH = D。3.寫出下列各數(shù)的8位原碼、補碼和反碼1100110B:原碼 ,補碼 , 反碼 。-1101011B:原碼 ,補碼 , 反碼 。-11100B: 原碼 ,補碼 , 反碼 。習(xí)題一習(xí)題一4.已知x補,求x的真

2、值x補 = 11110001B,x = B;x補 = 00111001B,x = B;5.已知x的8位原碼,求x的8位補碼和反碼x原=11001100B,x補= B;x反 = B;x原=01001111B,x補= B;x反 = B;6.用8位補碼加法計算下列各題,并判斷是否溢出? X = 0010110B, Y = 0110111B,X+Y補 = B,溢出否? X = -1110001B, Y = -000111B,X+Y補 = B,溢出否? X = -1110001B, Y = 1111110B,X-Y補 = B,溢出否? 1-2.1 進位計數(shù)制進位計數(shù)制 一、進位計數(shù)制:一、進位計數(shù)制:q

3、進位計數(shù)制進位計數(shù)制:以基值為進位的計數(shù)制,位數(shù)的權(quán)是:以基值為進位的計數(shù)制,位數(shù)的權(quán)是基值的冪。基值的冪。q權(quán)權(quán):一個數(shù)中每個數(shù)碼的位置規(guī)定了該數(shù)碼所具有:一個數(shù)中每個數(shù)碼的位置規(guī)定了該數(shù)碼所具有的數(shù)值,稱為權(quán);的數(shù)值,稱為權(quán);q基值基值:數(shù)制中數(shù)碼的個數(shù)稱為基值;:數(shù)制中數(shù)碼的個數(shù)稱為基值;q常用的計數(shù)制:常用的計數(shù)制:十進制:十進制:D (Decimal),二進制:二進制:B (Binary),八進制:八進制:O (Octal),十六進制:十六進制: H (Hexadecimal) 十進制數(shù):十進制數(shù): 1 2 3. 4 511022101310041015102 即即 123.45=1

4、102 +2101 +3100 + 4101 +5102 不同進制數(shù)的表示不同進制數(shù)的表示10111.011B; 675.5O; 34.5D; 89.1H按權(quán)展開按權(quán)展開權(quán)權(quán) 二進制數(shù):(逢二進一)二進制數(shù):(逢二進一)1101.1B =123+122+ 021+121+120= 8 + 4 + 0 + 1+ 0.5 =13.5十六進制數(shù)十六進制數(shù):(逢十六進一)(逢十六進一)0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共十六個數(shù)碼,共十六個數(shù)碼,. 其中其中 A、 B、 C、 D、 E、 F 對應(yīng)十進制數(shù)對應(yīng)十進制數(shù): 10、11、12、13、14、15 A5D.8H= +

5、 516 1 + 8161 = 2560 + 80+ 0.5 = 2653.5+ 1316 0 + 13 16 2 10二、不同計數(shù)制之間的轉(zhuǎn)換二、不同計數(shù)制之間的轉(zhuǎn)換 1.其它進制換成十進制其它進制換成十進制 按按“權(quán)權(quán)”轉(zhuǎn)換法轉(zhuǎn)換法 2.十進制換成其它進制十進制換成其它進制a)整數(shù)部分:除基取余法整數(shù)部分:除基取余法b)小數(shù)部分:乘基取整法小數(shù)部分:乘基取整法十進制轉(zhuǎn)換為二進制十進制轉(zhuǎn)換為二進制n整數(shù)整數(shù) 除2取余數(shù) 直到商為0為止例:(11)10( )2(11)10(1011)2 十進制轉(zhuǎn)換為二進制十進制轉(zhuǎn)換為二進制n小數(shù)小數(shù) 乘2取整數(shù) 直到小數(shù)為0或達到精度例:(0.5625)10(

6、 )2(0.5625)10(0.1001)2 二進制二進制 十六進制十六進制每位十六進制數(shù)可對應(yīng)每位十六進制數(shù)可對應(yīng)4 4位二進制數(shù)。位二進制數(shù)。0000 0001 0010 0011 1110 11110 1 2 3 E F 3. 二進制、八進制和十六進制之間的轉(zhuǎn)換二進制、八進制和十六進制之間的轉(zhuǎn)換 八進制相當(dāng)于三位的二進制八進制相當(dāng)于三位的二進制十六進制相當(dāng)于四位的二進制十六進制相當(dāng)于四位的二進制十進制十進制十六進制十六進制二進制二進制00000011000122001033001144010055010166011077011188100099100110A101011B101112C1

7、10013D110114E111015F1111例例 2-2 4BF.CH=. 0100 1011 1111. 1100B例例2-1 11 0101 1101.11B CHD.110 1010 1110.111BEH= 6E.A=35 以小數(shù)點為界,向左(整數(shù)部分)每以小數(shù)點為界,向左(整數(shù)部分)每4位為一組,高位不足位為一組,高位不足4位時補位時補0;向右(小數(shù)部分)每;向右(小數(shù)部分)每4位為一組,低位不足位為一組,低位不足4位時補位時補0。然后分別用對應(yīng)的十六進制數(shù)表示每組中的然后分別用對應(yīng)的十六進制數(shù)表示每組中的4位二進制數(shù)。位二進制數(shù)。 二進制數(shù)轉(zhuǎn)換為十六進制數(shù)二進制數(shù)轉(zhuǎn)換為十六進制

8、數(shù): 十六進制數(shù)轉(zhuǎn)換為二進制數(shù):十六進制數(shù)轉(zhuǎn)換為二進制數(shù): 直接將每位十六進制數(shù)寫成其對應(yīng)的直接將每位十六進制數(shù)寫成其對應(yīng)的4位二進制數(shù)。位二進制數(shù)。 例例 2-3 1010 1110B .89 = AEH=10161 + 14 160 =17459H= 101 1001B1010 1110 1111B = AEFH=1016 2 + 14 16 1 + 15 = 2560 +224 + 15 =2799125 = 7DH = 111 1101B通過十六進制通過十六進制二進制二進制 十進制十進制(89 16 =(125 16 =5 9)7 13)1-2.2 機器內(nèi)數(shù)據(jù)及符號的表示方法機器內(nèi)數(shù)據(jù)

9、及符號的表示方法計算機中數(shù)據(jù)的最基本表示方式是二進制表示。計算機中數(shù)據(jù)的最基本表示方式是二進制表示。 需要解決需要解決3個問題:個問題: 1)、數(shù)值的表示方法;)、數(shù)值的表示方法; 2)、小數(shù)點的表示方法;)、小數(shù)點的表示方法; 3)、正負(fù)號的表示方法。)、正負(fù)號的表示方法。一、整數(shù)的表示一、整數(shù)的表示 1. 不帶符號的整數(shù)不帶符號的整數(shù)數(shù)的表示范圍:數(shù)的表示范圍:n4位:位:0000B 1111B,0H FH,0D 15D;n8位:位:00000000B 11111111B,00H FFH, 0D 255D;n16位:位: 0000H FFFFH, 0D 65535D;nn位數(shù):位數(shù):0D

10、(2n-1)D 2、帶符號的整數(shù)帶符號的整數(shù) 帶符號的整數(shù)一種最簡單的表示方法是用最高位表示數(shù)的正帶符號的整數(shù)一種最簡單的表示方法是用最高位表示數(shù)的正負(fù),負(fù),“0”表示正,表示正,“1”表示負(fù)。表示負(fù)。數(shù)的表示范圍數(shù)的表示范圍q4位位-7D +7D;q8位:位:-127D +127D;q16位:位:-32767D +32767D;二、小數(shù)的表示二、小數(shù)的表示 1.定點表示定點表示:定點表示方法只能表示兩種數(shù):定點表示方法只能表示兩種數(shù)a)純小數(shù):默認(rèn)小數(shù)點在符號位之后,此時所有數(shù)純小數(shù):默認(rèn)小數(shù)點在符號位之后,此時所有數(shù)字均為小數(shù)。字均為小數(shù)。b)純整數(shù):默認(rèn)小數(shù)點在最低位之后,此時所有數(shù)純整

11、數(shù):默認(rèn)小數(shù)點在最低位之后,此時所有數(shù)字均為整數(shù)。字均為整數(shù)。 2.浮點表示浮點表示:任何一個二進制數(shù):任何一個二進制數(shù)N都可以用兩個都可以用兩個帶符號的整數(shù)表示:帶符號的整數(shù)表示:2JNS 階值階值階符階符尾數(shù)尾數(shù)尾符尾符2JNS 10 0 0 1 011 0 1 0 1 1 0 1 0如:如:-0.101011010 x2-00010nIEEE浮點數(shù)標(biāo)準(zhǔn),分為兩種:浮點數(shù)和雙精度數(shù),浮點數(shù)標(biāo)準(zhǔn),分為兩種:浮點數(shù)和雙精度數(shù),浮點數(shù)用浮點數(shù)用4個字節(jié)個字節(jié)32位表示,雙精度數(shù)用位表示,雙精度數(shù)用8個字節(jié)個字節(jié)64位表示。位表示。 S偏移的階碼偏移的階碼尾碼的有效位尾碼的有效位 31 30 23

12、 22 0S偏移的階碼偏移的階碼尾碼的有效位尾碼的有效位 63 62 52 51 0浮點數(shù)浮點數(shù):雙精度數(shù)雙精度數(shù):三、三、機器數(shù)機器數(shù):數(shù)連同其符號在機器中的表示:數(shù)連同其符號在機器中的表示加以數(shù)值化。加以數(shù)值化。 真值:真值:+0.101- 0101 -0.101- 1101特點:特點:n字長有限;字長有限;n符號數(shù)值化;符號數(shù)值化;n小數(shù)點按約定方式標(biāo)出。小數(shù)點按約定方式標(biāo)出。 一旦符號數(shù)字化之后,符號和數(shù)值就形成了一一旦符號數(shù)字化之后,符號和數(shù)值就形成了一種新的編碼。我們所關(guān)心的:種新的編碼。我們所關(guān)心的: 在運算過程中,符號位能否和數(shù)值部分一起參加運在運算過程中,符號位能否和數(shù)值部分

13、一起參加運算?算? 如果參加運算,符號位又需要作哪些處理?如果參加運算,符號位又需要作哪些處理? 這些問題都與符號位和數(shù)值位所構(gòu)成的編碼有這些問題都與符號位和數(shù)值位所構(gòu)成的編碼有關(guān),這些編碼就是所要學(xué)習(xí)的原碼、補碼和反碼。關(guān),這些編碼就是所要學(xué)習(xí)的原碼、補碼和反碼。 1. 原碼表示法原碼表示法帶符號的絕對值表示帶符號的絕對值表示(1) 定義定義整數(shù)整數(shù)x 為真值為真值n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)如如x = +1110 x原原 = 0 , 1110 x原原 = 24 + 1110 = 1 , 1110 x = 1110 x原原 = 0,x 2n x 02n x 0 x 2n用用 逗號逗號 將符號

14、位將符號位和數(shù)值位隔開和數(shù)值位隔開四、整數(shù)四、整數(shù)/小數(shù)的原碼、補碼和反碼表示小數(shù)的原碼、補碼和反碼表示小數(shù)小數(shù)x 為真值為真值如如x = + 0.1101x原原 = 0 . 1101 x = 0.1101x原原 = 1 ( 0.1101) = 1 . 1101 x 1 x 0 x原原 = 1 x 0 x 1x = 0.1000000 x原原 = 1 ( 0.1000000) = 1 . 1000000 x = + 0.1000000 x原原 = 0 . 1000000用用 小數(shù)點小數(shù)點 將符號將符號位和數(shù)值位隔開位和數(shù)值位隔開用用 小數(shù)點小數(shù)點 將符號將符號位和數(shù)值位隔開位和數(shù)值位隔開(2)

15、 舉例舉例例例 1: 已知已知 x原原 = 1.0011 求求 x解解:例例2 : 已知已知 x原原 = 1,1100 求求 x解解:x = 1 x原原 = 1 1.0011 = 0.0011x = 24 x原原 = 10000 1,1100 = 1100 0.00111100由定義得由定義得由定義得由定義得例例 4 求求 x = 0 的原碼的原碼解解: 設(shè)設(shè) x = +0.0000例例 3 已知已知 x原原 = 0.1101 求求 x解:解: x = + 0.1101同理,對于整數(shù)同理,對于整數(shù)+ 0原原 = 0,0000+0.0000原原 = 0.0000 x = 0.0000 0.000

16、0原原 = 1.0000 0原原 = 1,0000 + 0原原 0原原 根據(jù)根據(jù) 定義定義 x原原 = 0.1101原碼的特點:原碼的特點:簡單、直觀簡單、直觀但是用原碼做加法時,會出現(xiàn)如下問題:但是用原碼做加法時,會出現(xiàn)如下問題:能否能否 只做加法只做加法 ? 找到一個與負(fù)數(shù)等價的正數(shù)找到一個與負(fù)數(shù)等價的正數(shù) 來代替這個負(fù)數(shù)來代替這個負(fù)數(shù)就可使就可使 減減 加加加法加法 正正 正正加加加法加法 正正 負(fù)負(fù)加法加法 負(fù)負(fù) 正正加法加法 負(fù)負(fù) 負(fù)負(fù)減減減減加加 要求要求 數(shù)數(shù)1 數(shù)數(shù)2 實際操作實際操作 結(jié)果符號結(jié)果符號正正可正可負(fù)可正可負(fù)可正可負(fù)可正可負(fù)負(fù)負(fù)(1) 補的概念補的概念 時鐘時鐘逆

17、時針逆時針- 363順時針順時針+ 9 615- 1232. 補碼表示法補碼表示法可見可見 3 可用可用 + 9 代替代替記作記作 3 + 9 (mod 12)同理同理 4 + 8 (mod 12) 5 + 7 (mod 12) 時鐘以時鐘以 12為模為模減法減法 加法加法稱稱 + 9 是是 3 以以 12 為模的補數(shù)為模的補數(shù)結(jié)論結(jié)論 一個負(fù)數(shù)加上一個負(fù)數(shù)加上 “模模” 即得該負(fù)數(shù)的補數(shù)即得該負(fù)數(shù)的補數(shù) 兩個互為補數(shù)的數(shù)兩個互為補數(shù)的數(shù) 它們絕對值之和即為它們絕對值之和即為 模模 數(shù)數(shù) 計數(shù)器計數(shù)器(模(模 16) 101110110000+ 0101 1011100001011 0000

18、?可見可見 1011 可用可用 + 0101 代替代替記作記作 1011 + 0101 (mod 24)同理同理 011 + 101 (mod 23) 0.1001 + 1.0111 (mod 2)自然去掉自然去掉(2) 補碼定義補碼定義整數(shù)整數(shù)x 為真值為真值n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)x補補 = 0,x 2n x 02n+1 + x 0 x 2n(mod 2n+1)如如x = +1010 x補補 = 27+1 +( 1011000 )= 1000000001011000 x補補 = 0,1010 x = 10110001,0101000用用 逗號逗號 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔

19、開小數(shù)小數(shù)x 為真值為真值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ù)值位隔開(3) 求補碼的快捷方式求補碼的快捷方式= 100000= 1,011010101 + 1= 1,0110 又又x原原 = 1,1010則則x補補 = 24+1 1010= 11111 + 1 1010= 1111110101010當(dāng)真值為當(dāng)真值為 負(fù)負(fù) 時,補碼時

20、,補碼 可用可用 原碼除符號位外原碼除符號位外每位取反,末位加每位取反,末位加 1 求得求得+ 1設(shè)設(shè) x = 1010 時時(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.1111 例例 7解:解:x = x補補 24+1 = 1,1110 100000 x原原 = 1,0010當(dāng)真值為當(dāng)真值為 負(fù)負(fù) 時,原碼時,原碼 可用

21、可用 補碼除符號位外補碼除符號位外每位取反,末位加每位取反,末位加 1 求得求得x補補 x原原 ? x = 0010= 0010求求 x已知已知 x補補 = 1,1110由定義得由定義得真值真值0, 10001101, 01110100.11101.00100.00000.00001.00000,10001101,10001100.11101.11100.00001.0000不能表示不能表示練習(xí)練習(xí)求下列真值的補碼求下列真值的補碼x = + 70 x = 0.1110 x = 0.0000 x = 70 x = 0.1110 x = 0.0000 x = 1.0000 1補補 = 2 + x

22、= 10.0000 1.0000 = 1.0000+ 0補補 = 0補補由小數(shù)補碼定義由小數(shù)補碼定義x補補 = x 1 x 02+ x 0 x 1(mod 2)= 1000110= 1000110 x補補 x原原3. 反碼表示法反碼表示法(1) 定義定義整數(shù)整數(shù)x反反 = 0,x 2n x 0( 2n+1 1) + x 0 x 2n(mod 2n+1 1)如如x = +1101x反反 = 0,1101 = 1,0010 x = 1101x反反 = (24+1 1) 1101 = 11111 1101用用 逗號逗號 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開x 為真值為真值n 為整數(shù)的位數(shù)為整數(shù)的

23、位數(shù)小數(shù)小數(shù)x = +0.1101x反反 = 0.1101x = 0.1010 x反反 = (2 2-4) 0.1010= 1.1111 0.1010= 1.0101如如x反反 = x 1 x 0( 2 2-n) + x 0 x 1(mod 2 2-n)用用 小數(shù)點小數(shù)點 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開x 為真值為真值(2) 舉例舉例例例 10 求求 0 的反碼的反碼設(shè)設(shè) x = +0.0000 x = 0.0000+0.0000反反= 0.0000 0.0000反反= 1.1111 + 0反反 0反反 解:解:同理,對于整數(shù)同理,對于整數(shù)+0反反= 0,0000 0反反= 1,11

24、11例例9 已知已知 x反反 = 1,1110 求求 x由定義得由定義得x = x反反 (24+1 1)= 1,1110 11111= 0001例例8 已知已知 x反反 = 0,1110 求求 x解:解:由定義得由定義得 x = + 1110解:解:三種機器數(shù)的小結(jié)三種機器數(shù)的小結(jié) 對于對于正數(shù)正數(shù),原碼原碼 = 補碼補碼 = 反碼反碼 對于對于負(fù)數(shù)負(fù)數(shù) ,符號位為符號位為 1,其其 數(shù)值部分?jǐn)?shù)值部分原碼除符號位外每位取反末位加原碼除符號位外每位取反末位加 1 補碼補碼原碼除符號位外每位取反原碼除符號位外每位取反 反碼反碼 最高位最高位為為符號位符號位,書寫上用,書寫上用“,”(整數(shù))(整數(shù))

25、或或“.”(小數(shù))將數(shù)值部分和符號位隔開(小數(shù))將數(shù)值部分和符號位隔開例例 11 000000000000000100000010011111111000000010000001111111011111111011111111128129-0-1-128-127-127-126二進制代碼二進制代碼 無符號數(shù)無符號數(shù)對應(yīng)的真值對應(yīng)的真值原碼對應(yīng)原碼對應(yīng) 的真值的真值補碼對應(yīng)補碼對應(yīng) 的真值的真值反碼對應(yīng)反碼對應(yīng) 的真值的真值012127253254255-125-126-127-3-2-1-2-1-0+0+1+2+127+0+1+2+127+0+1+2+127+0 設(shè)機器數(shù)字長為設(shè)機器數(shù)字長為

26、8 位(其中一位為符號位)位(其中一位為符號位)對于整數(shù),當(dāng)其分別代表無符號數(shù)、原碼、補碼和對于整數(shù),當(dāng)其分別代表無符號數(shù)、原碼、補碼和反碼時,對應(yīng)的真值范圍各為多少?反碼時,對應(yīng)的真值范圍各為多少?1-2.3 信息的編碼表示信息的編碼表示一、一、BCD碼碼:Binary Coded Decimal 常用的常用的BCD碼也稱為碼也稱為8421BCD碼,每個十碼,每個十進制數(shù)碼用四位的二進制表示。主要用于顯進制數(shù)碼用四位的二進制表示。主要用于顯示。示。二、二、ASCII碼碼:American Standard Code for Information Interchange ASCII碼是英文字

27、母、數(shù)字和常用符號在計碼是英文字母、數(shù)字和常用符號在計算機中的標(biāo)準(zhǔn)表示方法,采用算機中的標(biāo)準(zhǔn)表示方法,采用7位二進制編位二進制編碼,共有碼,共有128個符號個符號 B6B5B4B3B2B1B00000010100111001011101110000NULDELSP0Pp0001SOHDC1!1AQaq0010STXDC22BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;

28、Kk1100FFFS,Nn1111SIUS/?O_oDEL1-2.4 數(shù)的運算方法數(shù)的運算方法一、邏輯運算一、邏輯運算q邏輯運算的特點是按位進行的,每位得出一個邏輯運算的特點是按位進行的,每位得出一個獨立的結(jié)果,對其它位無影響。獨立的結(jié)果,對其它位無影響。q常用的邏輯運算包括:與、或、非、異或。常用的邏輯運算包括:與、或、非、異或。 1、邏輯非、邏輯非0110國標(biāo)符號國標(biāo)符號國際符號國際符號AAAHxxHBx4 5求AB000101011111國標(biāo)符號國標(biāo)符號國際符號國際符號AB+2、邏輯或、邏輯或AB000100010111國標(biāo)符號國標(biāo)符號國際符號國際符號AB3、邏輯與、邏輯與AB00010

29、1011110國標(biāo)符號國標(biāo)符號國際符號國際符號AB4、邏輯異或、邏輯異或5. 應(yīng)用舉例應(yīng)用舉例(1). 有一個有一個16位的寄存器,截取寄存器中的位的寄存器,截取寄存器中的“一段一段” 1011 0000 0000 00001111 0000 0000 00001011 1100 1001 0111(2). 了解結(jié)果的正負(fù)了解結(jié)果的正負(fù) 0000 10000000 10000101 1001 與80H與,可以判斷 與,截取了后4位 (3). 結(jié)果清零結(jié)果清零異或異或 二、算術(shù)運算二、算術(shù)運算補碼加減法運算補碼加減法運算 n1. 基本公式基本公式n (mod 2 mod 2)ABAB補補補或記住

30、結(jié)論,推導(dǎo)略對于減法,有:對于減法,有: )2 mod 2 (mod )(n或補補補補BABABA連同符號位一起運算連同符號位一起運算2. 舉例舉例 n(1)n(2). n(3). 設(shè)機器的字長為8位,A = 15,B = 24 ,求 AB = ? 0111.10 1100. 11011. 0 0.0111 0100. 01011. 0 補補補BABABA補補補, 0010 11 1011 10111 1 1110 0101 1001 59 BABABABA1110 BA0011000 0 00110000001111 0 0001111,補補BBAA9 00010011110111 1 11

31、01000 10001111 0 補補補,BABA加法n(4). 設(shè)機器的字長為8位,A = 93,B = 45,求 ABn解:0101101 1011101BA,118 1110110 101010011 10100011 1 BABA即,補補8位二進制補碼的表示范圍:128127而9345138,超出了8位二進制補碼的表示范圍,即溢出溢出 溢出用來判斷帶符號數(shù)補碼運算結(jié)果是否超出了溢出用來判斷帶符號數(shù)補碼運算結(jié)果是否超出了補碼所能表示的范圍。例如,字長為補碼所能表示的范圍。例如,字長為n位的帶符號數(shù),位的帶符號數(shù),它能表示的補碼范圍為它能表示的補碼范圍為2n1 +2n11,如果運算結(jié)果,如

32、果運算結(jié)果超出此范圍,就叫補碼溢出,簡稱溢出。超出此范圍,就叫補碼溢出,簡稱溢出。 溢出及其判斷方法溢出及其判斷方法 1. 進位與溢出進位與溢出 進位是指運算結(jié)果的最高位向更高位的進位,用進位是指運算結(jié)果的最高位向更高位的進位,用來判斷無符號數(shù)運算結(jié)果是否超出了計算機所能表示來判斷無符號數(shù)運算結(jié)果是否超出了計算機所能表示的最大無符號數(shù)的范圍的最大無符號數(shù)的范圍。 例例 1 x = +126、y = + 5; x=126、 y=5, 用用8位補碼計算位補碼計算 x+y。 1 0 0 0 0 0 1 0 + 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 x+y補補= 011111

33、01 x+y = +1111101B0出錯原因出錯原因: 1265 =131128 0 1 1 1 1 1 1 0+ 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1 x+y補補=10000011 x+y = 1111101B0 (結(jié)果錯誤結(jié)果錯誤)(結(jié)果錯誤結(jié)果錯誤)(正溢出正溢出)(負(fù)溢出負(fù)溢出)解解 x補補=01111110 x補補=10000010 y補補= 00000101 y補補=11111011 +126 + 5 = +131+127 2. 溢出的判斷方法溢出的判斷方法. 通過比較參加運算的兩個數(shù)的符號及運算結(jié)果的通過比較參加運算的兩個數(shù)的符號及運算結(jié)果的符號進行判

34、斷。符號進行判斷。 同號數(shù)據(jù)相加,若結(jié)果的符號與加數(shù)符號相同則同號數(shù)據(jù)相加,若結(jié)果的符號與加數(shù)符號相同則無溢出;若結(jié)果的符號與加數(shù)符號不相同則溢出。無溢出;若結(jié)果的符號與加數(shù)符號不相同則溢出。 單符號位比較法單符號位比較法.異號數(shù)據(jù)相加,結(jié)果不會發(fā)生溢出。異號數(shù)據(jù)相加,結(jié)果不會發(fā)生溢出。 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 + 0 0 0 0 0 0 1 1 + 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0(無溢出,結(jié)果正確無溢出,結(jié)果正確) (無溢出,結(jié)果正確無溢出,結(jié)果正確)x+y補補=01111110 x+y補

35、補=10000010= +126 =126 x+y= +1111110B x+y=1111110B例例 2 x= +123、y= +3; x=123、y=3, 用用8位補碼計算位補碼計算x+y。 解解 x補補=01111011 x補補=10000101 y補補=00000011 y補補=11111101 雙進位法雙進位法. 通過符號位和數(shù)值部分最高位的進位狀態(tài)來判斷通過符號位和數(shù)值部分最高位的進位狀態(tài)來判斷結(jié)果是否溢出。結(jié)果是否溢出。C7CFC6數(shù)值位數(shù)值位67CCOF b7 b6 b1 b0 x7 y7x1 y1=1 x0 y0 x6 y6=1 =1 =1 OF=1方式控制方式控制MM= 0

36、 加加M=1 減減全加器全加器異或門異或門 ,無無溢溢出出,有有溢溢出出01CCOF67 若最高位的進位狀態(tài)和次高位的進位狀態(tài)不同若最高位的進位狀態(tài)和次高位的進位狀態(tài)不同則溢出;若最高位的進位狀態(tài)和次高位的進位狀態(tài)則溢出;若最高位的進位狀態(tài)和次高位的進位狀態(tài)相同則無溢出。相同則無溢出。 有進位:有進位: C7=1, C6=1無進位:無進位: C7=0, C6=0 例例 3 用用8位補碼求位補碼求 55 + 66 ,并判斷結(jié)果是否發(fā)生溢出。,并判斷結(jié)果是否發(fā)生溢出。解解 55 =37H=0110111B 66 =42H=1000010B 55補補 =00110111 66補補= 01000010

37、 0 0 1 1 0 1 1 1 + 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 10CCOF 0C0C6767 、無溢出,結(jié)果正確。無溢出,結(jié)果正確。 55+66補補=01111001 55 + 66 = +1111001B =79H=121 0CCOF 1C1C6767 ,、例例 4 用用8位補碼求位補碼求14 +(59),并判斷結(jié)果是否發(fā)生溢出。,并判斷結(jié)果是否發(fā)生溢出。解解 14 =0001110B ,59 =3BH=0111011B 14補補=11110010 59補補 =11000101 1 1 1 1 0 0 1 0+ 1 1 0 0 0 1 0 1 1 0 1

38、1 0 1 1 1、1無溢出,結(jié)果正確。無溢出,結(jié)果正確。 1459補補=1011011114 + (59) =1001001B=49H=73解解 98 = 62H=1100010B 45 =2DH=0101101B 98補補= 01100010 45補補= 00101101 1CCOF 1C0C6767 ,、有溢出,結(jié)果錯誤。有溢出,結(jié)果錯誤。 0 1 1 0 0 0 1 0+ 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1、例例 5 用用8位補碼求位補碼求98 +45,并判斷結(jié)果是否發(fā)生溢出。,并判斷結(jié)果是否發(fā)生溢出。解解 93 = 5DH=1011101B 59 = 3B

39、H=0111011B 93補補=10100011 59補補 =11000101 1 0 1 0 0 0 1 1+ 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 0、1 1CCOF 0C1C6767 ,、有溢出,結(jié)果錯誤。有溢出,結(jié)果錯誤。 例例 6 用用8位補碼求位補碼求93 +(59),并判斷結(jié)果是否發(fā)生溢出。,并判斷結(jié)果是否發(fā)生溢出。 雙符號位法(變形補碼法)雙符號位法(變形補碼法)變形補碼:正數(shù)的符號位用變形補碼:正數(shù)的符號位用00表示;表示; 負(fù)數(shù)的符號位用負(fù)數(shù)的符號位用11表示。表示。 若結(jié)果的雙符號為若結(jié)果的雙符號為01或或10則溢出;則溢出; 若結(jié)果的雙符號為若結(jié)果

40、的雙符號為00或或11則無溢出。則無溢出。 通過運算結(jié)果的兩個符號位的狀態(tài)來判斷結(jié)果通過運算結(jié)果的兩個符號位的狀態(tài)來判斷結(jié)果是否溢出:是否溢出:0 0 1 1 1 1 1 1 0+ 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1(正溢出,結(jié)果錯誤正溢出,結(jié)果錯誤)例例 7 X= +126、Y= +5; X=126、Y=5, 用變形補碼計算用變形補碼計算X+Y。解解 X補補=001111110 X補補=1100000101 0 1 1 1 1 1 0 11 1 0 0 0 0 0 1 0+ 1 1 1 1 1 1 0 1 1Y補補=000000101 Y補補=111111

41、011(負(fù)溢出,結(jié)果錯誤負(fù)溢出,結(jié)果錯誤) Y補補=000000011 Y補補=1111111010 0 1 1 1 1 0 1 1+ 0 0 0 0 0 0 0 1 10 0 1 1 1 1 1 1 0(無溢出,結(jié)果正確無溢出,結(jié)果正確)X+Y補補=001111110 X+Y= +1111110B= +126例例 8 X= +123、Y= +3 X=123、 Y=3 用變形補碼計算用變形補碼計算X+Y。解解 X補補=001111011 X補補=1100001011 1 0 0 0 0 1 0 1+ 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0(無溢出,結(jié)果正確無溢出,結(jié)果正確)X+Y補補=110000010X+Y=1111110B=126 每位十進制數(shù)用每位十進制數(shù)用8位二進制編碼表示,其中高位二進制編碼表示,其中高4位為零。位為零。二進制編碼的十進制數(shù)二進制編碼的十進制數(shù)(BCD碼碼)運算運算1. 壓縮型壓縮型BCD碼碼每位十進制數(shù)用每位十進制數(shù)用4位二進制編碼

溫馨提示

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

評論

0/150

提交評論