微型計(jì)算機(jī)技術(shù):第1章-2 計(jì)算機(jī)運(yùn)算基礎(chǔ)_第1頁(yè)
微型計(jì)算機(jī)技術(shù):第1章-2 計(jì)算機(jī)運(yùn)算基礎(chǔ)_第2頁(yè)
微型計(jì)算機(jī)技術(shù):第1章-2 計(jì)算機(jī)運(yùn)算基礎(chǔ)_第3頁(yè)
微型計(jì)算機(jī)技術(shù):第1章-2 計(jì)算機(jī)運(yùn)算基礎(chǔ)_第4頁(yè)
微型計(jì)算機(jī)技術(shù):第1章-2 計(jì)算機(jī)運(yùn)算基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(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、一、計(jì)算機(jī)中的數(shù)制(1) 在計(jì)算機(jī)內(nèi)一切信息必須進(jìn)行數(shù)字化編碼(即用二進(jìn)制代碼形式),才能在機(jī)內(nèi)傳送、存儲(chǔ)和處理。輸入電路 10110101計(jì)算機(jī)主機(jī) 10100010輸出電路1.4 計(jì)算機(jī)運(yùn)算基礎(chǔ)(2)十六進(jìn)制、八進(jìn)制與二進(jìn)制數(shù)碼對(duì)應(yīng)關(guān)系 進(jìn)位計(jì)數(shù)制基 數(shù)數(shù) 碼十六進(jìn)制數(shù) 16 0 1 2 3 4 5 6 7 8 9 A B C D E F 十進(jìn)制數(shù) 10 0 1 2 3 4 5 6 7 8 9八進(jìn)制數(shù) 8 0 1 2 3 4 5 6 7 二進(jìn)制數(shù) 2 0 11十進(jìn)制(D):基數(shù)為10,逢十進(jìn)一12.34 = 1101 + 2 100 + 3 10-1 + 4 10-2 二進(jìn)制(B):基數(shù)為

2、2,逢二進(jìn)一1101B = 1 23 + 1 22 + 1 20 = 13十六進(jìn)制(H):基數(shù)為16,逢十六進(jìn)一9187H= 9 163 + 1 162 + 8 161 + 7 160八進(jìn)制(Q):基數(shù)為8,逢八進(jìn)一 2167Q=283182681780(3).常用進(jìn)制數(shù)的表示規(guī)則2二進(jìn)制二進(jìn)制數(shù)是計(jì)算機(jī)中常用的一種記數(shù)方法 ,它使用“”,“”這兩個(gè)數(shù)碼構(gòu)成以為基數(shù)的進(jìn)制表達(dá)方式。其基本運(yùn)算規(guī)則為“逢二進(jìn)一,借一當(dāng)二”。 二進(jìn)制: b7 b6 b5 b4 b3 b2 b1 b0 權(quán)值: 128 64 32 16 8 4 2 1 27 26 25 24 23 22 21 20二進(jìn)制小數(shù):小數(shù)點(diǎn)后

3、第k位權(quán)值位2-k = 1/2k。二進(jìn)制:0 . B-1 b-2 b-3 b-4 權(quán)值: 0.5 0.25 0.125 0.0625 2-1 2-2 2-3 2-4 1/2 1/4 1/8 1/1631101.1001 (二進(jìn)制) = 1X8 + 1X4 + 0X2 + 1X1 + 1X0.5 + 0X0.25 + 0X0.125 + 1X0.0625 = 13.5625 (十進(jìn)制) 10101010 101010101 0101010010101010 01010101 010101014八進(jìn)制使用二進(jìn)制表達(dá)一個(gè)數(shù)值需要較長(zhǎng)的編碼。為了便于記憶和使用,人們將三位二進(jìn)制數(shù)作一組用一個(gè)符號(hào)表示,

4、構(gòu)成八了進(jìn)制,這樣可以把數(shù)碼的長(zhǎng)度縮短三分之二。把二進(jìn)制數(shù)按三個(gè)一組的方式進(jìn)行分組,每一組將產(chǎn)生23種組合,因此需要8個(gè)數(shù)碼來(lái)表示每一位數(shù)值,這樣就構(gòu)成了八進(jìn)制。八進(jìn)制使用0,1,2,3,4,5,6,7,共八種符號(hào)來(lái)表示數(shù)碼。二進(jìn)制數(shù)和八進(jìn)制數(shù)之間的關(guān)系如下:二進(jìn)制000001010011100101110111八進(jìn)制 0 1 2 3 4 5 6 75十六進(jìn)制 在計(jì)算機(jī)中常以字節(jié)為基本單位來(lái)表達(dá)和記錄信息,一個(gè)字節(jié)由八位二進(jìn)制數(shù)組成。八位二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)并不方便,而且一個(gè)字節(jié)需要使用三個(gè)八進(jìn)制符號(hào)表示。如果將八位二進(jìn)制數(shù)分為兩組,每組四位,就可以?xún)蓚€(gè)符號(hào)表示一個(gè)字節(jié)的數(shù)據(jù),十分便于記憶和

5、表達(dá)。由于四位二進(jìn)制數(shù)可以產(chǎn)生24種組合,因此需要16種數(shù)碼來(lái)表示一個(gè)四位二進(jìn)制數(shù),這樣就產(chǎn)生了十六進(jìn)制。在十六進(jìn)制中使用的數(shù)碼分別為:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)。二進(jìn)制與十六進(jìn)制之間的對(duì)應(yīng)關(guān)系如下:二進(jìn)制 0000 0001 0010 0011 0100 0101 0110 0111十六進(jìn)制 0 1 2 3 4 5 6 7二進(jìn)制 1000 1001 1010 1011 1100 1101 1110 1111十六進(jìn)制 8 9 A B C D E F6 (4)十六進(jìn)制數(shù)與二進(jìn)制、十進(jìn)制數(shù)之間的轉(zhuǎn)換.常用進(jìn)制數(shù)的表示二進(jìn)制數(shù) 0000 0001 0010 001

6、1 0100 0101 0110 0111十進(jìn)制數(shù) 0 1 2 3 4 5 6 7 十六進(jìn)制數(shù) 0 1 2 3 4 5 6 7二進(jìn)制數(shù) 1000 1001 1010 1011 1100 1101 1110 1111十進(jìn)制數(shù) 8 9 10 11 12 13 14 15 十六進(jìn)制數(shù) 8 9 A B C D E F7二八進(jìn)制數(shù)轉(zhuǎn)換二進(jìn)制數(shù)轉(zhuǎn)換為對(duì)應(yīng)的八進(jìn)制數(shù)十分方便,具體分為兩步: 1)以小數(shù)點(diǎn)為中心將二進(jìn)制數(shù)三位一組進(jìn)行分組; 2)將每一組用對(duì)應(yīng)的八進(jìn)制符號(hào)進(jìn)行代換,這樣就將二進(jìn)制數(shù)轉(zhuǎn)換成了對(duì)應(yīng)的八進(jìn)制數(shù)。八進(jìn)制轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制數(shù),只需要將每一個(gè)八進(jìn)制數(shù)碼直接用對(duì)應(yīng)的三位二進(jìn)制數(shù)代換即可。例:設(shè)

7、有兩個(gè)二進(jìn)制數(shù) 011110101000,0.10101011,試將它們轉(zhuǎn)換成對(duì)應(yīng)的八進(jìn)制數(shù)。 011,110,101,000 0.101,010,110八進(jìn)制數(shù) 3 6 5 0 0. 5 2 68二進(jìn)制數(shù)與十六進(jìn)制數(shù)轉(zhuǎn)換二進(jìn)制數(shù)轉(zhuǎn)換為對(duì)應(yīng)的十六進(jìn)制數(shù)也分為兩步: 1)以小數(shù)點(diǎn)為中心將二進(jìn)制數(shù)四位一組進(jìn)行分組; 2)將每一組用對(duì)應(yīng)的十六進(jìn)制符號(hào)進(jìn)行代換,這樣就將二進(jìn)制數(shù)轉(zhuǎn)換成了對(duì)應(yīng)的十六進(jìn)制數(shù)。十六進(jìn)制轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制數(shù),只需要將每一個(gè)十六進(jìn)制數(shù)碼直接用對(duì)應(yīng)的四位二進(jìn)制數(shù)代換即可。例:設(shè)有兩個(gè)二進(jìn)制數(shù) 11110101000,0.101010111 ,試將它們轉(zhuǎn)換成對(duì)應(yīng)的十六進(jìn)制數(shù)。 011

8、1,1010,1000 0.1010,1011 十六進(jìn)制數(shù) 7 A 8 0. A B 9二進(jìn)制數(shù)與十進(jìn)制數(shù)轉(zhuǎn)換十進(jìn)制數(shù)是人們最常使用的一種數(shù)的表達(dá)和運(yùn)算方式,每一個(gè)十進(jìn)制數(shù)由0,1,2,3,4,5,6,7,8,9十種符號(hào)組成。十進(jìn)制數(shù)與二進(jìn)制數(shù)之間無(wú)法直接進(jìn)行代換,需要使用一定的計(jì)算方法??梢詮乃鼈兊臄?shù)學(xué)表達(dá)中來(lái)描述這種轉(zhuǎn)換關(guān)系,假設(shè)有十進(jìn)制整數(shù)X,若其對(duì)應(yīng)的二進(jìn)制數(shù)可表示為an-1an-2a1a0,則有如下等式成立: X=an-12n-1+an-22n-2+a121+a020 該等式兩邊同時(shí)除以2,得 X/2=an-12n-2+an-22n-3+a120 余數(shù)為a0再同時(shí)除以2,得 (X/2

9、)/2=an-12n-3+an-22n-4+a220 . 余數(shù)為a110反復(fù)除以2.最后得 X/2n=0 余數(shù)為an-1 將所得余數(shù)從下往上依次排列就是十進(jìn)制數(shù)X對(duì)應(yīng)的二進(jìn)制數(shù)an-1an-2a1a0,這種方式稱(chēng)為“除留余數(shù)法”或“除2法”。 例:將十進(jìn)制數(shù)123,用除2法轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制數(shù)。 1111011B即為123D對(duì)應(yīng)的二進(jìn)制數(shù) 11 設(shè)如果有十進(jìn)制純小數(shù)0.Y,其對(duì)應(yīng)的二進(jìn)制數(shù)為0. a-1a-2a-m則有等式:0.Y a-12-1+a-22-2+a-m2-m 如果將等式兩邊乘以2,則有 (0.Y)2(a-12-1+a-22-2+a-m2-m )2= a -1+a-22-1+a-m

10、2-m+1 取等式兩邊的整數(shù)部分,則有(0.Y)2取整a-1將兩邊小數(shù)部分再乘以2 (0.Y2-a-1)2=(a-22-1+a-m2-m+1)2a-2+a-32-1+a-m2-m+2取等式兩邊的整數(shù)部分,則有(0.Y2-a-1)2取整a-2依此類(lèi)推則可得到二進(jìn)制數(shù)的各位數(shù)值。然后排列成0. a-1a-2a-m即可,這種方法稱(chēng)為“乘2取整法”或“乘2法”。12例:將十進(jìn)制數(shù)0.625,采用乘2法轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制數(shù)。注意:有些數(shù)可能永遠(yuǎn)也無(wú)法通過(guò)乘2的方式變成整數(shù),一直會(huì)有小數(shù)部分,當(dāng)所需要的精度達(dá)到后就不用再進(jìn)行乘法操作了。 如:0.725,0.22513 從以上的計(jì)算過(guò)程可以看出,十進(jìn)制數(shù)轉(zhuǎn)

11、換成對(duì)應(yīng)的二進(jìn)制數(shù)需要分為兩步進(jìn)行: 1)將十進(jìn)制數(shù)的整數(shù)部分采用除2法轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制整數(shù); 2)將十進(jìn)制數(shù)的小數(shù)部分采用乘2法轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制小數(shù)。 最后將轉(zhuǎn)換的整數(shù)部分和小數(shù)部分合并即可得到十進(jìn)制數(shù)轉(zhuǎn)換成的二進(jìn)制數(shù)。14 不同進(jìn)制數(shù)據(jù),相同的表示會(huì)有不同的數(shù)值大小,為了在表示數(shù)據(jù)時(shí)不產(chǎn)生歧義,通常在數(shù)據(jù)最后加一個(gè)字母來(lái)區(qū)別不同的進(jìn)制。 十進(jìn)制數(shù)使用D表示(可以省略),二進(jìn)制數(shù)使用B表示,八進(jìn)制數(shù)使用Q表示,十六進(jìn)制使用H表示。其對(duì)照關(guān)系如右表所示。 十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制00000B0Q0H10001B1Q1H20010B2Q2H30011B3Q3H40100B4Q4H50101

12、B5Q5H60110B6Q6H70111B7Q7H81000B10Q8H91001B11Q9H15二、計(jì)算機(jī)中數(shù)的表示和運(yùn)算 在計(jì)算機(jī)中無(wú)論是數(shù)據(jù)還是其它信息都是采用一定長(zhǎng)度的二進(jìn)制數(shù)表達(dá)。對(duì)于不同的信息,所需要的二進(jìn)制數(shù)長(zhǎng)度也不同。 人們規(guī)定:在微型計(jì)算機(jī)中以八位二進(jìn)制數(shù)為一個(gè)基本單位來(lái)分配存儲(chǔ)地址,稱(chēng)為字節(jié)(Byte)。任何一個(gè)信息最少要用一個(gè)八位二進(jìn)制數(shù)來(lái)表達(dá),如果需要更長(zhǎng)的二進(jìn)制數(shù)表達(dá)某些信息則需要使用八的整數(shù)倍二進(jìn)制數(shù),如16位,32位等。X86系統(tǒng)中常用的數(shù)據(jù)長(zhǎng)度單位有: 字節(jié):8個(gè)二進(jìn)制位(Byte) 1Byte=8bit 字:2個(gè)字節(jié)(Word) 1Word=2Byte=16b

13、it 雙字:4個(gè)字節(jié)(Double Words),1 Double Words =4Byte=32bit 四字:4個(gè)字(Quad Words),1 Quad Words =4W=8Byte=64bit 十字節(jié):10字節(jié)(Ten Bytes),1 Ten Bytes=10Byte=80bit16(1)計(jì)算機(jī)中多字節(jié)數(shù)據(jù)的存儲(chǔ) 在計(jì)算機(jī)中每一個(gè)字節(jié)存儲(chǔ)空間分配一個(gè)地址,多字節(jié)數(shù)據(jù)需要多個(gè)存儲(chǔ)地址。用哪一個(gè)地址來(lái)表示多個(gè)字節(jié)組成的數(shù)據(jù)呢? 計(jì)算機(jī)中多字節(jié)數(shù)據(jù)有兩種數(shù)據(jù)存儲(chǔ)方式,一種稱(chēng)為大端存儲(chǔ)法,另一種稱(chēng)為小端存儲(chǔ)法。所謂大端存儲(chǔ)就是將多個(gè)字節(jié)數(shù)據(jù)依次存放,將高字節(jié)數(shù)據(jù)存放到低地址,將低字節(jié)數(shù)據(jù)存放

14、到高地址。所謂小端存儲(chǔ)就是將多個(gè)字節(jié)數(shù)據(jù)依次存放,高字節(jié)數(shù)據(jù)存放到高地址,低字節(jié)數(shù)據(jù)存放到低地址。如32位數(shù)據(jù)12345678H存放到起始地址為100H的存儲(chǔ)器中。 兩種不同的存儲(chǔ)方式下數(shù)據(jù)在內(nèi)存中的示意如圖:17地址數(shù)據(jù)地址數(shù)據(jù)100H12H100H78H101H34H101H56H102H56H102H34H103H78H103H12H104H104H (a) 大端存儲(chǔ) (b) 小端存儲(chǔ) X86系列CPU采用小端存儲(chǔ)18(2)BCD碼 如果使用二進(jìn)制數(shù)對(duì)十進(jìn)制的數(shù)碼進(jìn)行編碼,并利用編碼的位置關(guān)系來(lái)表達(dá)十進(jìn)制數(shù)的位權(quán)關(guān)系,則可以更方便地在計(jì)算機(jī)中對(duì)十進(jìn)制數(shù)進(jìn)行表示和運(yùn)算。常用的編碼稱(chēng)為二十進(jìn)

15、制碼或稱(chēng)BCD碼(Binary Coded Decimal)。 如:十進(jìn)制數(shù)100如果直接進(jìn)行數(shù)值轉(zhuǎn)換,用二進(jìn)制數(shù)表示就應(yīng)該是0110,0100B(64H),需要進(jìn)行7次除2取余計(jì)算得到。 而使用BCD編碼,就可以直接表示為0001,0000,0000B, 1 0 0也就是直接將十進(jìn)制數(shù)的每一位數(shù)碼轉(zhuǎn)換成一個(gè)對(duì)應(yīng)編號(hào),然后按其位置進(jìn)行排列來(lái)表示該數(shù)。這極大地方便了十進(jìn)制數(shù)的表達(dá)和轉(zhuǎn)換。19 由于計(jì)算機(jī)中數(shù)據(jù)地址分配的基本單位是字節(jié),因此,對(duì)每一個(gè)數(shù)碼進(jìn)行編號(hào)通常是以字節(jié)為單位進(jìn)行的,也就是說(shuō)每一個(gè)數(shù)碼將由八位二進(jìn)制編碼。這種BCD碼稱(chēng)為非壓縮BCD碼。 顯然非壓縮BCD碼的浪費(fèi)很大。如果每一個(gè)

16、十進(jìn)制數(shù)碼用四位二進(jìn)制編碼,則可以減少一半存儲(chǔ)空間。這種BCD碼稱(chēng)為壓縮BCD碼。 其對(duì)照表如右圖。十進(jìn)制非壓縮BCD碼壓縮BCD碼000000000000010000000100012000000100010300000011001140000010001005000001010101600000110011070000011101118000010001000900001001100120(3)運(yùn)算(算術(shù)運(yùn)算和邏輯運(yùn)算)二進(jìn)制算術(shù)運(yùn)算 逢二進(jìn)一、借一為二加法規(guī)則 0 + 0 = 00 + 1 = 1 1 + 0 = 11 + 1 = 0 (向高位進(jìn)1)乘法規(guī)則0 0 = 00 1 = 01

17、 0 = 01 1 = 1減法規(guī)則 0 - 0 = 00 - 1 = 1(向高位借1) 1 - 0 = 11 - 1 = 021十六進(jìn)制數(shù): 逢十六進(jìn)一 借一為十六(1).加法規(guī)則:兩個(gè)一位數(shù)之和S0時(shí)同十進(jìn)制減法,若S OA34DH,382FH; 22邏輯運(yùn)算的基本規(guī)則“或”運(yùn)算(OR) A B AB 0 0 0 0 1 1 1 0 1 1 1 1“與”運(yùn)算(AND) A B AB 0 0 0 0 1 0 1 0 0 1 1 1“非”運(yùn)算(NOT) A A 0 1 1 0“異或”運(yùn)算(XOR) A B AB 0 0 0 0 1 1 1 0 1 1 1 023例:X=00FFH Y=5555H

18、,求Z=XY=? X = 0000 0000 1111 1111 B Y = 0101 0101 0101 0101 B Z = 0101 0101 1010 1010 B Z=55AAH24(4)數(shù)的表示真值:現(xiàn)實(shí)中真實(shí)的數(shù)值無(wú)符號(hào)數(shù):只表達(dá)0和正整數(shù)的定點(diǎn)整數(shù)有符號(hào)數(shù):表達(dá)負(fù)整數(shù)、0和正整數(shù)的定點(diǎn)整數(shù)符號(hào)位需要占用一個(gè)位常用機(jī)器數(shù)的最高位0表示正數(shù)、1表示負(fù)數(shù)定點(diǎn)數(shù):固定小數(shù)點(diǎn)的位置表達(dá)數(shù)值的機(jī)器數(shù)定點(diǎn)整數(shù):將小數(shù)點(diǎn)固定在機(jī)器數(shù)的最右側(cè)表達(dá)的整數(shù)定點(diǎn)小數(shù):將小數(shù)點(diǎn)固定在機(jī)器數(shù)的最左側(cè)表達(dá)的小數(shù)浮點(diǎn)數(shù):小數(shù)點(diǎn)浮動(dòng)表達(dá)的實(shí)數(shù)25有符號(hào)數(shù)表示和運(yùn)算有符號(hào)數(shù)在計(jì)算機(jī)中表示時(shí),除了數(shù)值大小外,還有相

19、應(yīng)的正負(fù)號(hào),通常正負(fù)號(hào)以二進(jìn)制數(shù)據(jù)最高位來(lái)表示。不同計(jì)算機(jī)處理能力和表示范圍有所不同,表示一個(gè)數(shù)據(jù)所使用的二進(jìn)制位數(shù)也不相同,通常是字節(jié)的整數(shù)倍,如:8位、16位、32位等。假設(shè)機(jī)器字長(zhǎng)為8位: 7 6 5 4 3 2 1 0符號(hào)位 數(shù)值位假設(shè)機(jī)器字長(zhǎng)為16位:符號(hào)位 數(shù)值位15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0符號(hào)位=0 表示正數(shù)符號(hào)位=1 表示負(fù)數(shù)26常用表示法 原碼、反碼、補(bǔ)碼原碼表示法:符號(hào) + 絕對(duì)值例:n=8bit +3原碼 = 0 000,0011 = 03H -3原碼 = 1 000,0011 = 83H +0原碼 = 0 000,0000

20、= 00H -0原碼 = 1 000,0000 = 80H 0的表示不唯一反碼表示法:正數(shù)的反碼同原碼,負(fù)數(shù)的反碼數(shù)值位與原碼相反例:n=8bit +5反碼 = 0 000,0101 = 05H -5反碼 = 1 111,1010 = FAH +0反碼 = 0 000,0000 = 00H -0反碼 = 1 111,1111 = FFH 0的表示不唯一27補(bǔ)碼表示法:正數(shù)的補(bǔ)碼:同原碼 +1補(bǔ)碼 = 0000 0001 = 01H +127補(bǔ)碼 = 0111 1111 = 7FH +0補(bǔ)碼 = 0000 0000 = 00H按位求反末位加一例: 機(jī)器字長(zhǎng)8位,-46補(bǔ)碼 = ? 46補(bǔ)碼 =

21、0010 1110 1101 0001 1101 0010 = D2H 機(jī)器字長(zhǎng)16位,-46補(bǔ)碼 = FFD2H 負(fù)數(shù)的補(bǔ)碼:(1)寫(xiě)出與該負(fù)數(shù)相對(duì)應(yīng)的正數(shù)的補(bǔ)碼 (2)按位求反 (3)末位加一取反加一288位二進(jìn)制數(shù)十六進(jìn)制數(shù)無(wú)符號(hào)數(shù)原碼補(bǔ)碼反碼0000000000H0+0+0+00000000101H1+1+1+10000001002H2+2+2+2011111017DH125+125+125+125011111107EH126+126+126+126011111117FH127+127+127+1271000000080H128-0-128-1271000000181H129-1-12

22、7-1261000001082H130-2-126-12511111101FDH253-125-3-211111110FEH254-126-2-111111111FFH255-127-1-029 十進(jìn)制 二進(jìn)制 十六進(jìn)制 十進(jìn)制 十六進(jìn)制 n=8 n=16 +127 0111 1111 7F +32767 7FFF +126 0111 1110 7E +32766 7FFE . . . +2 0000 0010 02 +2 0002 +1 0000 0001 01 +1 0001 0 0000 0000 00 0 0000 -1 1111 1111 FF -1 FFFF -2 1111 111

23、0 FE -2 FFFE . . .-126 1000 0010 82 -32766 8002-127 1000 0001 81 -32767 8001-128 1000 0000 80 -32768 8000n位二進(jìn)制補(bǔ)碼的表數(shù)范圍: - 2n-1 N 2n-1-1無(wú)符號(hào)整數(shù)的表數(shù)范圍: 0 N 2n-1 30 -1補(bǔ)碼 = 1111 1111 = FFH -127補(bǔ)碼 = 1000 0001 = 81H-128補(bǔ)碼 = 1000 0000 = 80H -0補(bǔ)碼 = 0000 0000 = 00H(+0、-0相同)n位補(bǔ)碼的表數(shù)范圍: - 2n-1 N 2n-1-1n=8 -128 N 12

24、7n=16 -32768 N 3276731移碼表示法:在數(shù)的真值上加一個(gè)偏移量形成。 X移=2n-11+X 其中 -2n-1X2n-1,n為包括符號(hào)位在內(nèi)的二進(jìn)制碼長(zhǎng)度,X為待轉(zhuǎn)換的實(shí)際數(shù)值,即X用加/減號(hào)表示符號(hào),絕對(duì)值表示數(shù)值,相當(dāng)于將所有X的原碼加上2n-1-1。 例:如X=100,Y=100,用八位二進(jìn)制數(shù)表示它們的移碼為:X=+01100100,Y=01100100,28-11=01111111則X移=0111111101100100=11100011Y移=0111111101100100=00011011數(shù)值0的移碼表示為+0移=0111111100000000=01111111

25、-0移=0111111100000000=01111111相當(dāng)于將所有數(shù)值都向正向移動(dòng)了2n-1132有符號(hào)數(shù)的加減運(yùn)算計(jì)算機(jī)中數(shù)據(jù)的加減運(yùn)算,通常以補(bǔ)碼方式進(jìn)行:加法規(guī)則:XY補(bǔ)碼 = X補(bǔ)碼 Y補(bǔ)碼減法規(guī)則:XY補(bǔ)碼 = X補(bǔ)碼 Y補(bǔ)碼 補(bǔ)碼進(jìn)行減法運(yùn)算可轉(zhuǎn)換為對(duì)應(yīng)的加法運(yùn)算,計(jì)算中符號(hào)位參與運(yùn)算,并能得到正確結(jié)果。33補(bǔ)碼的加法和減法:求補(bǔ)運(yùn)算 :對(duì)一個(gè)二進(jìn)制數(shù)按位求反、末位加一 X補(bǔ)碼 -X補(bǔ)碼 X補(bǔ)碼加法規(guī)則:X+Y補(bǔ)碼 = X補(bǔ)碼 + Y補(bǔ)碼減法規(guī)則:X-Y補(bǔ)碼 = X補(bǔ)碼 + -Y補(bǔ)碼 補(bǔ)碼減法可轉(zhuǎn)換為補(bǔ)碼加法 64(-46) 180100 00001101 00100001 0

26、010例:34進(jìn)位和溢出進(jìn)位: 由于運(yùn)算結(jié)果超出了位數(shù),最高有效位向 前的進(jìn)位,這一位自然丟失,一般不表 示結(jié)果的對(duì)錯(cuò)。溢出:表示結(jié)果超出了字長(zhǎng)允許表示的范圍, 一般會(huì)造成結(jié)果出錯(cuò)。例: (64) 11000000 127 01111111 64 01000000 + 1 00000001 0 1 00000000 128 10000000 進(jìn)位 溢出35溢出問(wèn)題及判斷:由于補(bǔ)碼中最高位為符號(hào)位,當(dāng)計(jì)算結(jié)果超過(guò)補(bǔ)碼表示范圍時(shí),可能導(dǎo)致不正確的進(jìn)位,從而產(chǎn)生錯(cuò)誤結(jié)果,這時(shí)稱(chēng)為溢出。溢出是超出補(bǔ)碼表示范圍,即計(jì)算結(jié)果絕對(duì)值過(guò)大引起。因此,計(jì)算結(jié)果溢出的基本條件是計(jì)算結(jié)果的絕對(duì)值大于參與計(jì)算的兩個(gè)數(shù)

27、的絕對(duì)值。很顯然,只有當(dāng)兩個(gè)參與計(jì)算的數(shù)為同號(hào)相加,或異號(hào)相減時(shí)才可能出現(xiàn)溢出問(wèn)題。當(dāng)同號(hào)相加,或異號(hào)相減時(shí),計(jì)算結(jié)果的絕對(duì)值超過(guò)補(bǔ)碼表示范圍(- 2n-1 N 2n-1-1)時(shí),才產(chǎn)生溢出。如:計(jì)算機(jī)字長(zhǎng)為時(shí)(+120)+(+30),(-50)+(-80)同號(hào)相加產(chǎn)生生溢出(+34)(-95)和(-45)(+123)異號(hào)相減產(chǎn)生溢出36使用二進(jìn)制表示時(shí),判斷溢出的基本方法:)根據(jù)參與運(yùn)算的兩個(gè)數(shù)最高位,判斷是否為同符號(hào)數(shù)相加或異符號(hào)數(shù)相減運(yùn)算。)如果有減法則將減法轉(zhuǎn)換為對(duì)應(yīng)的補(bǔ)碼加法運(yùn)算,作加法運(yùn)算后,若計(jì)算結(jié)果的符號(hào)位與被加數(shù)(被減數(shù))符號(hào)不相同,則可判斷有溢出發(fā)生。37(-120)+(-

28、30)=10001000補(bǔ)+11100010補(bǔ) 10001000補(bǔ)11100010補(bǔ)進(jìn)101101010符號(hào)位與被加數(shù)不同,溢出。兩個(gè)負(fù)數(shù)相加,結(jié)果為正數(shù),結(jié)果錯(cuò)誤。 (+34)(-95)=00100010補(bǔ)+01011111補(bǔ)00100010補(bǔ)01011111補(bǔ) 10000001符號(hào)位與被減數(shù)不同,溢出 。兩個(gè)正數(shù)相加,結(jié)果為負(fù)數(shù),結(jié)果錯(cuò)誤。(-100)+(-1)=10011100補(bǔ)+11111111補(bǔ)(-45)(+23)= 11010011補(bǔ)+11011001補(bǔ)是否溢出?38三種機(jī)器數(shù)的比較 對(duì)于正數(shù)它們相等,而對(duì)于負(fù)數(shù)各有不同的表示。 補(bǔ)碼和反碼的符號(hào)位可作為數(shù)值位的一部分看待,但原碼的符號(hào)位不允許和數(shù)值位同等看待。 原碼和反碼各有兩種零的表示法,而補(bǔ)碼具有唯一的一種零的表示法。 原碼、反碼表示的正、負(fù)數(shù)范圍相對(duì)零來(lái)說(shuō)是對(duì)稱(chēng)的,但補(bǔ)碼負(fù)數(shù)表示范圍較正數(shù)表示范圍寬。補(bǔ)碼的運(yùn)算X補(bǔ)+Y補(bǔ)=X+Y補(bǔ)X補(bǔ)-Y補(bǔ)=X-Y補(bǔ)=X補(bǔ)+-Y補(bǔ)39符號(hào)擴(kuò)展:如將8位轉(zhuǎn)換為16位原碼的符號(hào)擴(kuò)展正數(shù):0010 1001 0000 0000 0010 1001負(fù)數(shù):1010 1001 1000 0000 0010 1001反碼的符號(hào)擴(kuò)展正數(shù):0010 1001 0000 0000 0010 1001負(fù)

溫馨提示

  • 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)論