計(jì)算機(jī)組成原理 (2)_第1頁
計(jì)算機(jī)組成原理 (2)_第2頁
計(jì)算機(jī)組成原理 (2)_第3頁
計(jì)算機(jī)組成原理 (2)_第4頁
計(jì)算機(jī)組成原理 (2)_第5頁
已閱讀5頁,還剩117頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1第二章第二章 計(jì)算機(jī)中數(shù)據(jù)信息的表示計(jì)算機(jī)中數(shù)據(jù)信息的表示 數(shù)據(jù)是計(jì)算機(jī)處理的對(duì)象數(shù)據(jù)是計(jì)算機(jī)處理的對(duì)象。 本章討論的是計(jì)算機(jī)內(nèi)部各類數(shù)據(jù)的表示方法及其相互間的等值本章討論的是計(jì)算機(jī)內(nèi)部各類數(shù)據(jù)的表示方法及其相互間的等值轉(zhuǎn)換。轉(zhuǎn)換。 信息處理領(lǐng)域中信息處理領(lǐng)域中“數(shù)據(jù)數(shù)據(jù)”概念要大得多。世界上的一切事物和現(xiàn)概念要大得多。世界上的一切事物和現(xiàn)象都可以通過一組特征象都可以通過一組特征“數(shù)據(jù)數(shù)據(jù)”去描述它。去描述它。對(duì)于計(jì)算機(jī)而言,它所對(duì)于計(jì)算機(jī)而言,它所處理的就是事物和現(xiàn)象的處理的就是事物和現(xiàn)象的“特征描述數(shù)據(jù)特征描述數(shù)據(jù)”。 不管計(jì)算機(jī)要處理的對(duì)象是什么事物或現(xiàn)象,都必須通過某種方不管計(jì)算機(jī)要

2、處理的對(duì)象是什么事物或現(xiàn)象,都必須通過某種方式獲取其式獲取其“特征描述數(shù)據(jù)特征描述數(shù)據(jù)”,才能在計(jì)算機(jī)中進(jìn)行處理。,才能在計(jì)算機(jī)中進(jìn)行處理。 ISO對(duì)數(shù)據(jù)所下的定義是對(duì)數(shù)據(jù)所下的定義是:“數(shù)據(jù)是對(duì)數(shù)據(jù)是對(duì)事實(shí)、概念或指令事實(shí)、概念或指令的一種的一種特殊表達(dá)形式,這種特殊表達(dá)形式,這種特殊的表達(dá)形式特殊的表達(dá)形式可以用人工的方式或者用自動(dòng)可以用人工的方式或者用自動(dòng)化的裝置進(jìn)行通信、翻譯轉(zhuǎn)換或者進(jìn)行加工處理化的裝置進(jìn)行通信、翻譯轉(zhuǎn)換或者進(jìn)行加工處理” 。 根據(jù)這個(gè)定義,通常意義下的數(shù)值、文字、圖畫、聲音、活動(dòng)圖根據(jù)這個(gè)定義,通常意義下的數(shù)值、文字、圖畫、聲音、活動(dòng)圖象等對(duì)于人來說都可以認(rèn)為是數(shù)據(jù)。

3、象等對(duì)于人來說都可以認(rèn)為是數(shù)據(jù)。 通常把計(jì)算機(jī)內(nèi)部由硬件實(shí)現(xiàn)的基本數(shù)據(jù)分為數(shù)值型數(shù)據(jù)和非數(shù)通常把計(jì)算機(jī)內(nèi)部由硬件實(shí)現(xiàn)的基本數(shù)據(jù)分為數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)。值型數(shù)據(jù)。 2 數(shù)值型數(shù)據(jù)數(shù)值型數(shù)據(jù):可用來表示數(shù)量的多少,可比較其大小,具有特定:可用來表示數(shù)量的多少,可比較其大小,具有特定值的一類數(shù)據(jù)。值的一類數(shù)據(jù)。 非數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù):主要指字符數(shù)據(jù)、邏輯數(shù)據(jù)等。在一些:主要指字符數(shù)據(jù)、邏輯數(shù)據(jù)等。在一些 專用處理專用處理器上指令集可對(duì)多媒體信息進(jìn)行處理,此時(shí)圖形、聲音和活動(dòng)圖象器上指令集可對(duì)多媒體信息進(jìn)行處理,此時(shí)圖形、聲音和活動(dòng)圖象數(shù)據(jù)看成非數(shù)值型數(shù)據(jù)。數(shù)據(jù)看成非數(shù)值型數(shù)據(jù)。 信息:信息

4、:根據(jù)根據(jù)ISO定義,可以通俗認(rèn)為,定義,可以通俗認(rèn)為,信息是對(duì)人有用的數(shù)據(jù)信息是對(duì)人有用的數(shù)據(jù),這些數(shù)據(jù)可能影響到人們的行為和決策。這些數(shù)據(jù)可能影響到人們的行為和決策。 計(jì)算機(jī)信息處理計(jì)算機(jī)信息處理,簡(jiǎn)言之由計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理,處理主要目標(biāo)簡(jiǎn)言之由計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理,處理主要目標(biāo)是獲取有用信息是獲取有用信息。即通過數(shù)據(jù)采集和輸入、有效地把數(shù)據(jù)組織到計(jì)。即通過數(shù)據(jù)采集和輸入、有效地把數(shù)據(jù)組織到計(jì)算機(jī)中,由計(jì)算機(jī)系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的處理加工算機(jī)中,由計(jì)算機(jī)系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的處理加工(如存儲(chǔ)、建庫、如存儲(chǔ)、建庫、轉(zhuǎn)換、合并、分類、計(jì)算統(tǒng)計(jì)、匯總、傳送等操作轉(zhuǎn)換、合并、分類、計(jì)算統(tǒng)計(jì)、匯總、傳送等

5、操作),最后提供有,最后提供有用的信息給用戶。用的信息給用戶。 媒體媒體承載信息的載體。承載信息的載體。 根據(jù)根據(jù)ITU下屬下屬CCITT的定義,與計(jì)算機(jī)信息處理有關(guān)的媒體有的定義,與計(jì)算機(jī)信息處理有關(guān)的媒體有5種:種: 3 感覺媒體感覺媒體 表示媒體表示媒體 存儲(chǔ)媒體存儲(chǔ)媒體 表現(xiàn)媒體:表現(xiàn)媒體: 傳輸媒體:通信載體傳輸媒體:通信載體 數(shù)字計(jì)算機(jī)內(nèi)部所處理數(shù)字計(jì)算機(jī)內(nèi)部所處理的所有數(shù)字都是的所有數(shù)字都是“數(shù)字化數(shù)字化編碼編碼”了的數(shù)據(jù),即都是了的數(shù)據(jù),即都是一種一種表示媒體表示媒體信息。信息。4 “數(shù)字化編碼數(shù)字化編碼”過程過程:指對(duì)感覺媒體信息進(jìn)行:指對(duì)感覺媒體信息進(jìn)行定時(shí)定時(shí)采樣,將現(xiàn)實(shí)

6、采樣,將現(xiàn)實(shí)世界中的連續(xù)信息轉(zhuǎn)換成計(jì)算機(jī)中的離散的世界中的連續(xù)信息轉(zhuǎn)換成計(jì)算機(jī)中的離散的“樣本樣本”信息。然后對(duì)信息。然后對(duì)這些離散的這些離散的“樣本樣本”信息用信息用“0”或或“1”這兩個(gè)基本符號(hào)進(jìn)行數(shù)字化這兩個(gè)基本符號(hào)進(jìn)行數(shù)字化編碼,即對(duì)樣本值進(jìn)行二進(jìn)制編碼。編碼,即對(duì)樣本值進(jìn)行二進(jìn)制編碼。 編碼編碼:就是用:就是用少量簡(jiǎn)單少量簡(jiǎn)單的基本符號(hào),對(duì)大量復(fù)雜多樣的信息進(jìn)行的基本符號(hào),對(duì)大量復(fù)雜多樣的信息進(jìn)行一定規(guī)律的組合。一定規(guī)律的組合。 基本符號(hào)和組合規(guī)則是一切信息編碼的兩大要素?;痉?hào)和組合規(guī)則是一切信息編碼的兩大要素。 計(jì)算機(jī)內(nèi)部采用二進(jìn)制表示的原因有以下三個(gè)原因計(jì)算機(jī)內(nèi)部采用二進(jìn)制表

7、示的原因有以下三個(gè)原因: 二進(jìn)制只有兩種基本狀態(tài),與兩個(gè)穩(wěn)定狀態(tài)的物理器件的狀況二進(jìn)制只有兩種基本狀態(tài),與兩個(gè)穩(wěn)定狀態(tài)的物理器件的狀況相符,易實(shí)現(xiàn)。相符,易實(shí)現(xiàn)。 二進(jìn)制的編碼、計(jì)數(shù)和運(yùn)算規(guī)則簡(jiǎn)單易行。二進(jìn)制的編碼、計(jì)數(shù)和運(yùn)算規(guī)則簡(jiǎn)單易行。 “0”和和“1”兩個(gè)符號(hào)正好與邏輯命題的兩個(gè)邏輯值兩個(gè)符號(hào)正好與邏輯命題的兩個(gè)邏輯值“假假”和和“真真”相對(duì)應(yīng),為計(jì)算機(jī)應(yīng)用于邏輯判斷提供了方便。相對(duì)應(yīng),為計(jì)算機(jī)應(yīng)用于邏輯判斷提供了方便。 計(jì)算機(jī)內(nèi)部處理的對(duì)象分為兩大類計(jì)算機(jī)內(nèi)部處理的對(duì)象分為兩大類:數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)。:數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)。 數(shù)值數(shù)據(jù)的編碼表示數(shù)值數(shù)據(jù)的編碼表示 輸入到計(jì)算機(jī)

8、內(nèi)部的數(shù)據(jù)若有確定的值,即在數(shù)軸上能找到其對(duì)輸入到計(jì)算機(jī)內(nèi)部的數(shù)據(jù)若有確定的值,即在數(shù)軸上能找到其對(duì)應(yīng)的點(diǎn),則稱為應(yīng)的點(diǎn),則稱為數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)。5 計(jì)算機(jī)內(nèi)部的數(shù)值數(shù)據(jù)的表示方法有兩大類:計(jì)算機(jī)內(nèi)部的數(shù)值數(shù)據(jù)的表示方法有兩大類:直接用二進(jìn)制數(shù)表直接用二進(jìn)制數(shù)表示示或或采用二進(jìn)制編碼的十進(jìn)制采用二進(jìn)制編碼的十進(jìn)制(BCD碼碼Binary Coded Decimal Number)表示。表示。2.1 進(jìn)位計(jì)數(shù)制與數(shù)制之間的轉(zhuǎn)換進(jìn)位計(jì)數(shù)制與數(shù)制之間的轉(zhuǎn)換 進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制用少量的符號(hào)用少量的符號(hào)(也稱數(shù)碼也稱數(shù)碼),按先后次序把它們排列,按先后次序把它們排列成序列,由低到高進(jìn)行計(jì)數(shù),計(jì)滿進(jìn)位。

9、成序列,由低到高進(jìn)行計(jì)數(shù),計(jì)滿進(jìn)位。 基數(shù)基數(shù)計(jì)數(shù)制中所用到的數(shù)字符號(hào)個(gè)數(shù)。計(jì)數(shù)制中所用到的數(shù)字符號(hào)個(gè)數(shù)。 位權(quán)位權(quán)(權(quán)數(shù)權(quán)數(shù))以基數(shù)為底的指數(shù),指數(shù)的冪是數(shù)位的序號(hào)。以基數(shù)為底的指數(shù),指數(shù)的冪是數(shù)位的序號(hào)。 一般而言,在任一個(gè)進(jìn)位計(jì)數(shù)制中,若具有一般而言,在任一個(gè)進(jìn)位計(jì)數(shù)制中,若具有0,1,R- -1共共R個(gè)數(shù)字字符個(gè)數(shù)字字符,則稱該數(shù)字系統(tǒng)為,則稱該數(shù)字系統(tǒng)為R進(jìn)制進(jìn)制數(shù)字系統(tǒng),其數(shù)字系統(tǒng),其基數(shù)為基數(shù)為R,采,采用的是用的是“逢逢R進(jìn)一進(jìn)一”的運(yùn)算規(guī)則,的運(yùn)算規(guī)則,第第i位上的位權(quán)為位上的位權(quán)為Ri。其位權(quán)展開。其位權(quán)展開式如下:式如下: 1)(nmiiiRRxNV=xn-1 Rn- -

10、1+ xn-2 Rn- -2+ + x1 R1+ x0 R0+x- -1 R- -1+ x- -2 R- -2+ + x- -m R- -m (2-1)6 一般地,一個(gè)十進(jìn)制數(shù)一般地,一個(gè)十進(jìn)制數(shù)D=dn-1dn- -2d1d0.d- -1d- -2 d- -m 其對(duì)應(yīng)值為:其對(duì)應(yīng)值為: V(D) 10 =dn-2 10n- -2 +dn-1 10n- -1+ + d1 101+d0 100+d- -1 10- -1+d- -2 10- -2+ + d- -m 10- -m 其中其中di (i=n-1,1,0,- -1,- -2,- -m)可是可是09十十個(gè)數(shù)字符個(gè)數(shù)字符號(hào)中任何一個(gè),故號(hào)中任

11、何一個(gè),故基數(shù)基數(shù)為為“10”。 10i為第為第i位上的位權(quán)位上的位權(quán)。在十進(jìn)制數(shù)。在十進(jìn)制數(shù)進(jìn)行運(yùn)算時(shí),每位計(jì)滿十之后要向高位進(jìn)一。進(jìn)行運(yùn)算時(shí),每位計(jì)滿十之后要向高位進(jìn)一。 例:十進(jìn)制數(shù)例:十進(jìn)制數(shù)2059.65代表的實(shí)際值用位權(quán)展開為代表的實(shí)際值用位權(quán)展開為V(2059.65)10=2 103+ 0 102+ 5 101+ 9 100+ 6 10- -1+ 5 10- -2 同理,二進(jìn)制數(shù)的基數(shù)是同理,二進(jìn)制數(shù)的基數(shù)是2,只有兩個(gè)數(shù)字符號(hào),只有兩個(gè)數(shù)字符號(hào)“0”和和“1”,采,采用用“逢二進(jìn)一逢二進(jìn)一”的規(guī)則。的規(guī)則。 例:二進(jìn)制數(shù)例:二進(jìn)制數(shù)(100101.01)2的實(shí)際值的實(shí)際值(10

12、0101.01)2=1 25+0 24+0 23+1 22 +0 21+ 0 20+0 2- -1+ 1 2- -2 一般地,一個(gè)二進(jìn)制數(shù)一般地,一個(gè)二進(jìn)制數(shù)B=bn- -1 bn- -2b1b0.b- -1b- -2 b- -m7 其對(duì)應(yīng)值為:其對(duì)應(yīng)值為: V(B)2= bn-1 2n- -1+ bn-2 2n- -2+b1 21+b0 20+b- -1 2- -1+b- -2 2- -2+b- -m 2- -m 其中其中bi (i=n- -1,n- -2,1,0,- -1,- -2,- -m)可是可是0或或1兩個(gè)兩個(gè)數(shù)字之一。數(shù)字之一。 例例2.1計(jì)算機(jī)系統(tǒng)中常用的進(jìn)位計(jì)數(shù)制有:計(jì)算機(jī)系統(tǒng)

13、中常用的進(jìn)位計(jì)數(shù)制有: 二進(jìn)制數(shù):二進(jìn)制數(shù):基數(shù)為基數(shù)為2,各位數(shù)字的取值范圍是,各位數(shù)字的取值范圍是0l,計(jì)數(shù)規(guī)則是,計(jì)數(shù)規(guī)則是“逢二進(jìn)一逢二進(jìn)一”,后綴為后綴為B。如如(10100011.1101)2=10100011.1101B。 八進(jìn)制數(shù):八進(jìn)制數(shù):基數(shù)為基數(shù)為8,各位數(shù)字的取值范圍是,各位數(shù)字的取值范圍是07,計(jì)數(shù)規(guī)則是,計(jì)數(shù)規(guī)則是“逢八進(jìn)一逢八進(jìn)一”,后綴為后綴為O或或Q。 如如(137.67)8=137.67Q。 十進(jìn)制數(shù):十進(jìn)制數(shù):基數(shù)為基數(shù)為10,各位數(shù)字的取值范圍是,各位數(shù)字的取值范圍是O9,計(jì)數(shù)規(guī)則是,計(jì)數(shù)規(guī)則是“逢十進(jìn)一逢十進(jìn)一”,后綴為后綴為D或不用后綴或不用后綴。

14、如如(2357.89)10=2357.89 或或 (2357.89)10=2357.89D。 十六進(jìn)制數(shù):十六進(jìn)制數(shù):基數(shù)為基數(shù)為16,基本符號(hào)基本符號(hào)0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)。計(jì)數(shù)規(guī)則是計(jì)數(shù)規(guī)則是“逢十六進(jìn)一逢十六進(jìn)一”,后綴為后綴為H, 如如(A9BF.36E)16=A9BF.36EH。8四種進(jìn)位計(jì)數(shù)制之間的關(guān)系見下表。四種進(jìn)位計(jì)數(shù)制之間的關(guān)系見下表。F15171111E14161110D13151101C12141100B11131011A10121010991110018810100077701116660110555010144401003330

15、011222001011100010000000十六進(jìn)制十六進(jìn)制十進(jìn)制十進(jìn)制八進(jìn)制八進(jìn)制二進(jìn)制二進(jìn)制四種進(jìn)位計(jì)數(shù)制之間對(duì)應(yīng)關(guān)系表四種進(jìn)位計(jì)數(shù)制之間對(duì)應(yīng)關(guān)系表9 在進(jìn)行不同進(jìn)制數(shù)的轉(zhuǎn)換時(shí),應(yīng)注意以下幾個(gè)方面的問題:在進(jìn)行不同進(jìn)制數(shù)的轉(zhuǎn)換時(shí),應(yīng)注意以下幾個(gè)方面的問題: 1)不同進(jìn)制數(shù)的基數(shù)不同,所使用的數(shù)字的取值范圍也不同。不同進(jìn)制數(shù)的基數(shù)不同,所使用的數(shù)字的取值范圍也不同。 2)將任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法是將任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法是“按權(quán)相加按權(quán)相加”,即利用,即利用按權(quán)展開多項(xiàng)式將系數(shù)按權(quán)展開多項(xiàng)式將系數(shù)xi與位權(quán)值相乘后,將乘積逐項(xiàng)求和。與位權(quán)值相乘后,將乘積逐項(xiàng)求和。 例例

16、(100101.01)2=(1 25+0 24+0 23+1 22+0 21+1 20+0 2-1+1 2-2)10=(37.25)10 例例 (307.4)8=(3 82+0 81+7 80+4 8-1)10=(199.5)10 例例 (4A.2)16=(4 16+10 160+4 16-1)10=(74.125)10 3)將十進(jìn)制數(shù)轉(zhuǎn)換為任意進(jìn)制數(shù)時(shí),整數(shù)部分與小數(shù)部分需分別將十進(jìn)制數(shù)轉(zhuǎn)換為任意進(jìn)制數(shù)時(shí),整數(shù)部分與小數(shù)部分需分別進(jìn)行轉(zhuǎn)換。整數(shù)部分的轉(zhuǎn)換方法是進(jìn)行轉(zhuǎn)換。整數(shù)部分的轉(zhuǎn)換方法是“除除以以基取余基取余”,小數(shù)部分的轉(zhuǎn),小數(shù)部分的轉(zhuǎn)換方法是換方法是“乘乘以以基取整基取整”。 10 (

17、1)利用除利用除以以基取余法將十進(jìn)制整數(shù)轉(zhuǎn)換為基取余法將十進(jìn)制整數(shù)轉(zhuǎn)換為R進(jìn)制整數(shù)的規(guī)則:進(jìn)制整數(shù)的規(guī)則: 把被轉(zhuǎn)換的十進(jìn)制整數(shù)除以基數(shù)把被轉(zhuǎn)換的十進(jìn)制整數(shù)除以基數(shù)R,所得余數(shù)即為,所得余數(shù)即為R進(jìn)制整數(shù)進(jìn)制整數(shù)的最低位數(shù)字。的最低位數(shù)字。 將前次計(jì)算所得到的商再除以基數(shù)將前次計(jì)算所得到的商再除以基數(shù)R,所得余數(shù)即為,所得余數(shù)即為R進(jìn)制整進(jìn)制整數(shù)的相應(yīng)位數(shù)字。數(shù)的相應(yīng)位數(shù)字。 重復(fù)步驟,直到商為重復(fù)步驟,直到商為0為止。為止。 (2)利用乘利用乘以以基取整法將十進(jìn)制小數(shù)轉(zhuǎn)換為基取整法將十進(jìn)制小數(shù)轉(zhuǎn)換為R進(jìn)制小數(shù)的規(guī)則:進(jìn)制小數(shù)的規(guī)則: 把被轉(zhuǎn)換的十進(jìn)制小數(shù)乘以基數(shù)把被轉(zhuǎn)換的十進(jìn)制小數(shù)乘以基數(shù)R

18、,所得乘積的整數(shù)部分即為,所得乘積的整數(shù)部分即為R進(jìn)制小數(shù)的最高位數(shù)字。進(jìn)制小數(shù)的最高位數(shù)字。 將前次計(jì)算所得到的乘積的小數(shù)部分再乘以基數(shù)將前次計(jì)算所得到的乘積的小數(shù)部分再乘以基數(shù)R,所得新的,所得新的乘積的整數(shù)部分即為乘積的整數(shù)部分即為R進(jìn)制小數(shù)的相應(yīng)位數(shù)字。進(jìn)制小數(shù)的相應(yīng)位數(shù)字。 重復(fù)步驟,直到乘積的小數(shù)部分為重復(fù)步驟,直到乘積的小數(shù)部分為0或求得所要求的位數(shù)為或求得所要求的位數(shù)為止。止。 4)因?yàn)橐驗(yàn)?3=8,24=16,所以二進(jìn)制數(shù)與八進(jìn)制數(shù)、十六進(jìn)制數(shù)之間,所以二進(jìn)制數(shù)與八進(jìn)制數(shù)、十六進(jìn)制數(shù)之間的轉(zhuǎn)換可以利用它們之間的對(duì)應(yīng)關(guān)系直接進(jìn)行轉(zhuǎn)換。的轉(zhuǎn)換可以利用它們之間的對(duì)應(yīng)關(guān)系直接進(jìn)行轉(zhuǎn)換

19、。 11 (1)將二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)的方法:將二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)的方法: 將二進(jìn)制數(shù)的整數(shù)部分從最低有效位開始,每三位二進(jìn)制數(shù)對(duì)將二進(jìn)制數(shù)的整數(shù)部分從最低有效位開始,每三位二進(jìn)制數(shù)對(duì)應(yīng)一位八進(jìn)制數(shù),不足三位,高位補(bǔ)應(yīng)一位八進(jìn)制數(shù),不足三位,高位補(bǔ)0。 將二進(jìn)制數(shù)的小數(shù)部分從最高有效位開始,每三位二進(jìn)制數(shù)對(duì)將二進(jìn)制數(shù)的小數(shù)部分從最高有效位開始,每三位二進(jìn)制數(shù)對(duì)應(yīng)一位八進(jìn)制數(shù),不足三位,低位補(bǔ)應(yīng)一位八進(jìn)制數(shù),不足三位,低位補(bǔ)0。 (2)將二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)的方法:將二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)的方法: 將二進(jìn)制數(shù)的整數(shù)部分從最低有效位開始,每四位二進(jìn)制數(shù)對(duì)將二進(jìn)制數(shù)的整數(shù)部分從最低有效位

20、開始,每四位二進(jìn)制數(shù)對(duì)應(yīng)一位十六進(jìn)制數(shù),不足四位,高位補(bǔ)應(yīng)一位十六進(jìn)制數(shù),不足四位,高位補(bǔ)0。 將二進(jìn)制數(shù)的小數(shù)部分從最高有效位開始,每四位二進(jìn)制數(shù)對(duì)將二進(jìn)制數(shù)的小數(shù)部分從最高有效位開始,每四位二進(jìn)制數(shù)對(duì)應(yīng)一位十六進(jìn)制數(shù),不足四位,低位補(bǔ)應(yīng)一位十六進(jìn)制數(shù),不足四位,低位補(bǔ)0。 例例2.2將二進(jìn)制數(shù)將二進(jìn)制數(shù)110011.101轉(zhuǎn)換為十進(jìn)制數(shù)。轉(zhuǎn)換為十進(jìn)制數(shù)。 解:解:利用按權(quán)展開多項(xiàng)式,采用利用按權(quán)展開多項(xiàng)式,采用“按權(quán)相加按權(quán)相加”的方法進(jìn)行轉(zhuǎn)換。的方法進(jìn)行轉(zhuǎn)換。 (110011.101)2=25+24+21+20+2-1+2-3 =32+16+2+1+0.5+0.125 =(51.625)

21、10 128 104 0 例例2.3將將 (10101.0110101)2轉(zhuǎn)換為八進(jìn)制數(shù)和十六進(jìn)制數(shù)。轉(zhuǎn)換為八進(jìn)制數(shù)和十六進(jìn)制數(shù)。 解:根據(jù)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)的方法可得解:根據(jù)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)的方法可得 (10101.0110101)2=(010 101.011 010 100)2 = (25.324)8 根據(jù)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)的方法可得根據(jù)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)的方法可得 (10101.0110101)2=(0001 0101.0110 1010)2 = (15.6A)8 例例2.4 將十進(jìn)制數(shù)將十進(jìn)制數(shù)834轉(zhuǎn)換成八進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù) 余數(shù)余數(shù) 低位低位 8 834 2

22、8 1 1 8 13 5 0 高位高位 所以所以(834)10=(1502)8 將十進(jìn)制數(shù)將十進(jìn)制數(shù)834轉(zhuǎn)換成二進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)13 0 高位高位 2 834 0 2 417 1 2 208 0 2 104 0 2 52 0 2 26 0 2 13 0 2 6 0 2 3 1 2 1 1 所以,所以所以,所以(835)10=(11 0100 0010)2余數(shù)余數(shù) 低位低位14 1 1.50 2 0 0.75 2 1 1.375 2 例將例將(0.6875)10轉(zhuǎn)換為二進(jìn)制數(shù)。轉(zhuǎn)換為二進(jìn)制數(shù)。 高位高位 整數(shù)位整數(shù)位 0.6875 2 1 1.0 低位低位 故故(0.6875)10=(0.

23、1011)215 將將(0.6875)10轉(zhuǎn)換為八進(jìn)制數(shù)。轉(zhuǎn)換為八進(jìn)制數(shù)。 高位高位 整數(shù)位整數(shù)位 低位低位 故故(0.6875)10=(0.54)8 注意注意:由于計(jì)算機(jī)的位數(shù)限制,或者被轉(zhuǎn)換的十進(jìn)制實(shí)數(shù)不一定由于計(jì)算機(jī)的位數(shù)限制,或者被轉(zhuǎn)換的十進(jìn)制實(shí)數(shù)不一定表達(dá)成表達(dá)成 2- -i的形式,其轉(zhuǎn)換的結(jié)果,一般為近似值。的形式,其轉(zhuǎn)換的結(jié)果,一般為近似值。 例例: 將將(0.15)10轉(zhuǎn)換為二進(jìn)制數(shù),設(shè)計(jì)算機(jī)系統(tǒng)為轉(zhuǎn)換為二進(jìn)制數(shù),設(shè)計(jì)算機(jī)系統(tǒng)為8位二進(jìn)制,則位二進(jìn)制,則小數(shù)為小數(shù)為7位,轉(zhuǎn)換過程如下:位,轉(zhuǎn)換過程如下: 0.6875 8 5 5. 5 8 4 4. 0 16 0.15 2 0

24、0.30 2 0 0.60 2 0 0.40 2 高位高位 整數(shù)位整數(shù)位 1 1.20 2 0 0.80 2 1 1.20 1 1.60 2 低位低位 故故(0.15)10(0.0010011)2172.2 帶符號(hào)數(shù)的表示帶符號(hào)數(shù)的表示2.2.1 機(jī)器數(shù)與真值機(jī)器數(shù)與真值 采用二進(jìn)制表示形式的連同數(shù)符一起代碼化了的數(shù)據(jù),在計(jì)算機(jī)采用二進(jìn)制表示形式的連同數(shù)符一起代碼化了的數(shù)據(jù),在計(jì)算機(jī)中統(tǒng)中統(tǒng)稱為機(jī)器數(shù)或機(jī)器碼稱為機(jī)器數(shù)或機(jī)器碼。 真值真值- -用正、負(fù)符號(hào)加絕對(duì)值來表示的實(shí)際數(shù)值。用正、負(fù)符號(hào)加絕對(duì)值來表示的實(shí)際數(shù)值。 機(jī)器數(shù)可分為無符號(hào)數(shù)和帶符號(hào)數(shù)兩種機(jī)器數(shù)可分為無符號(hào)數(shù)和帶符號(hào)數(shù)兩種。 無

25、符號(hào)數(shù)無符號(hào)數(shù)- -是指計(jì)算機(jī)字長的所有二進(jìn)制位均表示數(shù)值。是指計(jì)算機(jī)字長的所有二進(jìn)制位均表示數(shù)值。 帶符號(hào)數(shù)帶符號(hào)數(shù)- -是指機(jī)器數(shù)分為符號(hào)和數(shù)值部分,且均用二進(jìn)制代碼表是指機(jī)器數(shù)分為符號(hào)和數(shù)值部分,且均用二進(jìn)制代碼表示。示。 例例25設(shè)某機(jī)器的字長為設(shè)某機(jī)器的字長為8位,無符號(hào)整數(shù)在機(jī)器中的表示形式位,無符號(hào)整數(shù)在機(jī)器中的表示形式為:為: 70數(shù)數(shù) 據(jù)據(jù)帶符號(hào)整數(shù)在機(jī)器中的表示形式為:帶符號(hào)整數(shù)在機(jī)器中的表示形式為:70S數(shù)數(shù) 據(jù)據(jù)18 分別寫出機(jī)器數(shù)分別寫出機(jī)器數(shù)10011001作為無符號(hào)整數(shù)和帶符號(hào)整數(shù)對(duì)應(yīng)的真作為無符號(hào)整數(shù)和帶符號(hào)整數(shù)對(duì)應(yīng)的真值。值。 解:解:10011001作為作為

26、時(shí),對(duì)應(yīng)的真值是時(shí),對(duì)應(yīng)的真值是(10011001)2=(153)10 10011001作為作為時(shí),其時(shí),其最高位的數(shù)碼最高位的數(shù)碼1代表符號(hào)代表符號(hào)“- -”,所以與機(jī)器數(shù),所以與機(jī)器數(shù)10011001對(duì)應(yīng)的真值是對(duì)應(yīng)的真值是(- -0011001)2=(- -25)10 綜上所述,可得機(jī)器數(shù)的特點(diǎn)為:綜上所述,可得機(jī)器數(shù)的特點(diǎn)為: (1)數(shù)的符號(hào)采用二進(jìn)制代碼化,數(shù)的符號(hào)采用二進(jìn)制代碼化,0代表代表“+”,1代表代表“- -”。通常將。通常將符號(hào)的代碼放在數(shù)據(jù)的最高位。符號(hào)的代碼放在數(shù)據(jù)的最高位。 (2)小數(shù)點(diǎn)本身是隱含的,不占用存儲(chǔ)空間。小數(shù)點(diǎn)本身是隱含的,不占用存儲(chǔ)空間。 (3)每個(gè)機(jī)

27、器數(shù)數(shù)據(jù)所占的二進(jìn)制位數(shù)受機(jī)器硬件規(guī)模的限制,與每個(gè)機(jī)器數(shù)數(shù)據(jù)所占的二進(jìn)制位數(shù)受機(jī)器硬件規(guī)模的限制,與機(jī)器字長有關(guān)。超過機(jī)器字長的數(shù)值要舍去。機(jī)器字長有關(guān)。超過機(jī)器字長的數(shù)值要舍去。19 例如,例如,如果要將數(shù)如果要將數(shù)x=+0.101100111在字長為在字長為8位的機(jī)器中表示為一位的機(jī)器中表示為一個(gè)單字長的數(shù),則只能表示為個(gè)單字長的數(shù),則只能表示為01011001,最低位的兩個(gè)最低位的兩個(gè)1無法在機(jī)無法在機(jī)器中表示器中表示。 因?yàn)闄C(jī)器數(shù)的長度是由機(jī)器硬件規(guī)模規(guī)定的,所以機(jī)器數(shù)表示的因?yàn)闄C(jī)器數(shù)的長度是由機(jī)器硬件規(guī)模規(guī)定的,所以機(jī)器數(shù)表示的數(shù)值是不連續(xù)的。數(shù)值是不連續(xù)的。 例如例如8位二進(jìn)制無

28、符號(hào)數(shù)可以表示位二進(jìn)制無符號(hào)數(shù)可以表示256個(gè)整數(shù)個(gè)整數(shù):0000 00001111 1111可表示可表示0127; 8位二進(jìn)制帶符號(hào)數(shù)中位二進(jìn)制帶符號(hào)數(shù)中: 0 00000000 1111111可表示正整數(shù)可表示正整數(shù)0127, 1 11111111 0000000可表示負(fù)數(shù)可表示負(fù)數(shù)- -1270,共,共256個(gè)數(shù),個(gè)數(shù), 其中其中00000000表示表示+0,10000000表示表示- -0。 2.2.2 原碼表示原碼表示 編碼系統(tǒng)編碼系統(tǒng) 確定一個(gè)數(shù)值數(shù)據(jù)的三要素是確定一個(gè)數(shù)值數(shù)據(jù)的三要素是:進(jìn)位計(jì)數(shù)制、定點(diǎn)進(jìn)位計(jì)數(shù)制、定點(diǎn)/浮點(diǎn)表示浮點(diǎn)表示和和編編碼表示碼表示。它們分別用來解決數(shù)值數(shù)

29、據(jù)的它們分別用來解決數(shù)值數(shù)據(jù)的基本符號(hào)基本符號(hào)、小數(shù)點(diǎn)位置和數(shù)小數(shù)點(diǎn)位置和數(shù)的正負(fù)號(hào)的正負(fù)號(hào)。20 設(shè)設(shè)n+1位機(jī)器數(shù)位機(jī)器數(shù)X的的數(shù)字化編碼后數(shù)字化編碼后的的機(jī)器數(shù)機(jī)器數(shù)X表示為:表示為:xnxn-1-1x1 1x0 0。 其中其中xi為為0或或1。 機(jī)器數(shù)機(jī)器數(shù)X的第一位的第一位xn為數(shù)的符號(hào),它的取值與真值為數(shù)的符號(hào),它的取值與真值XT有關(guān)。有關(guān)。大多大多數(shù)情況下,取值數(shù)情況下,取值0表示該數(shù)為正,取值表示該數(shù)為正,取值1表示該數(shù)為負(fù)。表示該數(shù)為負(fù)。 機(jī)器數(shù)機(jī)器數(shù)X中除了中除了xn之外的后之外的后n位:位:xn-1-1x1 1x0 0是數(shù)值部分,各位取值是數(shù)值部分,各位取值與編碼有關(guān)與編

30、碼有關(guān),各位取值規(guī)定如下各位取值規(guī)定如下: 當(dāng)當(dāng)XT0時(shí)時(shí), xi = xi (X為定點(diǎn)整數(shù)為定點(diǎn)整數(shù)),或,或xi = xi-n (X為定點(diǎn)小數(shù)為定點(diǎn)小數(shù)) 當(dāng)當(dāng)XT0時(shí)時(shí),數(shù)值部分各位取值依賴于相應(yīng)的編碼方式,常用的,數(shù)值部分各位取值依賴于相應(yīng)的編碼方式,常用的編碼方式有編碼方式有原碼、補(bǔ)碼原碼、補(bǔ)碼和和反碼反碼三種。三種。 原碼表示法原碼表示法 原碼表示法也稱原碼表示法也稱“數(shù)值數(shù)值- -符號(hào)符號(hào)”表示法。符號(hào)用表示法。符號(hào)用“0”表示表示“+”,“1”表示表示“- -”。 設(shè)有定點(diǎn)小數(shù)設(shè)有定點(diǎn)小數(shù) 0.x1x2 xn ,其原碼用,其原碼用n+1位字長位字長表示形式為表示形式為xs.x1

31、x2 xn ,其中,其中xs為符號(hào)位。那么,原碼的定義如下:為符號(hào)位。那么,原碼的定義如下:212)-(2 01- |1110 xxxxxx原原 設(shè)有定點(diǎn)整數(shù)設(shè)有定點(diǎn)整數(shù) xnxn-1 x0 ,其原碼用,其原碼用n+1位字長位字長表示形式為表示形式為xs,xn-1xn-2 x0 ,其中,其中xs為符號(hào)位。那么,原碼的定義如下:為符號(hào)位。那么,原碼的定義如下:3)-(2 02- |2220 xxxxxxnnnn原原 例例2.6 已知已知x,求求x的原碼的原碼x原原。 x=+0.1010110 x=- -0.1010110 x= +1010110 x= +1010110 解:解:根據(jù)原碼的定義,可

32、得根據(jù)原碼的定義,可得 x原原=x=0.1010110 x原原=1- -x=1+|x|=1+0.1010110= 1.1010110 x原原=x=0 1010110 x原原=2n- -x=2n+|x|=1 0000000+ 0 1010110=1 101011022 由例由例2.6的結(jié)果可知:的結(jié)果可知: (1) x原原的表示形式的表示形式x0.x1x2 xn為符號(hào)位加上為符號(hào)位加上x的絕對(duì)值。的絕對(duì)值。 當(dāng)當(dāng)x0時(shí)時(shí),符號(hào)位,符號(hào)位x0=0; 當(dāng)當(dāng)x0時(shí)時(shí),符號(hào)位,符號(hào)位x0=1。 (2)當(dāng)當(dāng)x為純小數(shù)時(shí)為純小數(shù)時(shí),X原原中的小數(shù)點(diǎn)默認(rèn)在符號(hào)位中的小數(shù)點(diǎn)默認(rèn)在符號(hào)位x0和數(shù)值最高和數(shù)值最高位

33、位x1之間;之間; 當(dāng)當(dāng)x0時(shí),時(shí), x原原=x; 當(dāng)當(dāng)x0時(shí),時(shí), x原原=l+|x|,即符號(hào)位加上,即符號(hào)位加上x的小數(shù)部分的絕對(duì)值。的小數(shù)部分的絕對(duì)值。 當(dāng)當(dāng)x為純整數(shù)時(shí)為純整數(shù)時(shí), x原原中的小數(shù)點(diǎn)默認(rèn)在數(shù)值最低位中的小數(shù)點(diǎn)默認(rèn)在數(shù)值最低位xn之后;之后; 當(dāng)當(dāng)x0時(shí),時(shí), x原原=x; 當(dāng)當(dāng)x0時(shí),時(shí), x原原=2n- -x=2n+|x| ,其中,其中2n是符號(hào)位的權(quán)值,是符號(hào)位的權(quán)值, 2n+|x|相當(dāng)于使符號(hào)為相當(dāng)于使符號(hào)為l。 (3)將將x原原的符號(hào)取反,即可得到的符號(hào)取反,即可得到- -x原原。 2原碼中原碼中0的表示的表示 純小數(shù)純小數(shù)+0和和- -0的原碼表示的原碼表示:

34、 +0原原=0.000 - -0原原=1.00023 純整數(shù)純整數(shù)+0和和- -0的原碼表示的原碼表示: +0原原=0 000 - -0原原=1 000 3原碼的左移和右移原碼的左移和右移 對(duì)于二進(jìn)制純小數(shù)對(duì)于二進(jìn)制純小數(shù)x=0.x1x2 xn 求求2x時(shí),只需將時(shí),只需將0.x1x2 xn依次左移一位,最低位的空位填依次左移一位,最低位的空位填0即可,即可, 即即2x=x1.x2 xn0。當(dāng)然,為了保證。當(dāng)然,為了保證x左移后仍然是純小數(shù),左移后仍然是純小數(shù),0.x1x2 xn中的中的x1應(yīng)為應(yīng)為0,否則,否則2x就會(huì)大于就會(huì)大于1,而不是純小數(shù)了。,而不是純小數(shù)了。 x21只需將只需將x1

35、x2xn依次右移一位,移出的最高位的空位填依次右移一位,移出的最高位的空位填0即可即可nxxxx210 . 021 即即 原碼的移位規(guī)則是:原碼的移位規(guī)則是:符號(hào)位不變,數(shù)值部分左移或右移,移出的符號(hào)位不變,數(shù)值部分左移或右移,移出的空位填空位填0。 例例2.7 已知已知x原原,求,求2x原原、 x/2原原。 24 x原原=0.0101001 x原原=10011010 解:解: 2x原原=0.1010010 左移后,符號(hào)位保持不變,最高位移左移后,符號(hào)位保持不變,最高位移出,最低位填出,最低位填0。 x/2原原=1.0010100 右移后,符號(hào)位保持不變,最高位填右移后,符號(hào)位保持不變,最高位

36、填0,末尾的末尾的1移出。移出。 2x原原=10110100 x/2原原=1 0001101 在原碼的左移過程中,注意不要將高位的有效數(shù)值位移出,否則在原碼的左移過程中,注意不要將高位的有效數(shù)值位移出,否則將會(huì)出錯(cuò)將會(huì)出錯(cuò)(稱為上溢稱為上溢)。 4原碼的特點(diǎn)原碼的特點(diǎn) (1)原碼表示直觀、易懂,與真值的轉(zhuǎn)換容易。原碼表示直觀、易懂,與真值的轉(zhuǎn)換容易。 (2)原碼表示中原碼表示中0有兩種不同的表示形式,給使用帶來了不便。有兩種不同的表示形式,給使用帶來了不便。 (3)原碼表示法的缺點(diǎn)原碼表示法的缺點(diǎn):原碼表示的加減運(yùn)算復(fù)雜。原碼表示的加減運(yùn)算復(fù)雜。 252.2.3 補(bǔ)碼表示補(bǔ)碼表示 補(bǔ)碼表示法也

37、稱補(bǔ)碼表示法也稱“符號(hào)符號(hào)- -2”表示法。也就是補(bǔ)碼表示的機(jī)器數(shù)由表示法。也就是補(bǔ)碼表示的機(jī)器數(shù)由符號(hào)后跟上真值的模符號(hào)后跟上真值的模2補(bǔ)碼構(gòu)成。補(bǔ)碼構(gòu)成。 模運(yùn)算模運(yùn)算 剩下的低剩下的低n位不能正確反映運(yùn)算結(jié)果,位不能正確反映運(yùn)算結(jié)果,也即舍棄的高位是運(yùn)算也即舍棄的高位是運(yùn)算的一部分的一部分,意味著計(jì)算結(jié)果超出了計(jì)算機(jī)所能表示的范圍,我們稱,意味著計(jì)算結(jié)果超出了計(jì)算機(jī)所能表示的范圍,我們稱之為之為“溢出溢出”。 剩下的剩下的n位數(shù)能正確表示運(yùn)算結(jié)果,也即位數(shù)能正確表示運(yùn)算結(jié)果,也即舍棄的高位是并不影舍棄的高位是并不影響運(yùn)算結(jié)果響運(yùn)算結(jié)果。 對(duì)于一個(gè)多于對(duì)于一個(gè)多于n位的數(shù)丟棄高位而保留低位

38、的數(shù)丟棄高位而保留低n位數(shù)的過程,實(shí)際上是位數(shù)的過程,實(shí)際上是等價(jià)于將這個(gè)多于等價(jià)于將這個(gè)多于n位的數(shù)去除以位的數(shù)去除以2 ,然后丟去商保留余數(shù),這種,然后丟去商保留余數(shù),這種操作運(yùn)算就是操作運(yùn)算就是模運(yùn)算模運(yùn)算。 在模運(yùn)算中在模運(yùn)算中,若,若A,B,M滿足下列關(guān)系:滿足下列關(guān)系:A=B+K M (K為整數(shù)為整數(shù)) 則記為則記為 AB (mod M) 上式表示上式表示A和和B分別除以分別除以M后所得余數(shù)相同。后所得余數(shù)相同。稱稱B和和A關(guān)于模關(guān)于模M同同余。也就是說,一個(gè)數(shù)與除以一個(gè)模余。也就是說,一個(gè)數(shù)與除以一個(gè)模M后所得的余數(shù)是等價(jià)的。后所得的余數(shù)是等價(jià)的。26 例:時(shí)鐘系統(tǒng)的模數(shù)是例:時(shí)

39、鐘系統(tǒng)的模數(shù)是12。設(shè)現(xiàn)在時(shí)間是。設(shè)現(xiàn)在時(shí)間是6點(diǎn),而表停在點(diǎn),而表停在10點(diǎn)上,點(diǎn)上,則有兩種校正方法:則有兩種校正方法: 10- -4=6 10+8 =18=10+(12- -4) 6 (mod 12) 所以在模所以在模12系統(tǒng)中:系統(tǒng)中:10- -410+8 (mod 12),即,即 - -48 (mod 12) 稱稱8是是- -4對(duì)模對(duì)模12的的補(bǔ)碼補(bǔ)碼。同理稱。同理稱9是是- -3對(duì)模對(duì)模12的的補(bǔ)碼補(bǔ)碼。 由上例可得如下結(jié)論由上例可得如下結(jié)論: 對(duì)于一個(gè)確定的模,某數(shù)減去對(duì)于一個(gè)確定的模,某數(shù)減去小于模小于模的一個(gè)數(shù),總可以用的一個(gè)數(shù),總可以用該數(shù)該數(shù)加加上上模與減數(shù)的絕對(duì)值之差模

40、與減數(shù)的絕對(duì)值之差來代替,即用來代替,即用該數(shù)該數(shù)加上加上另一數(shù)對(duì)于模另一數(shù)對(duì)于模的的補(bǔ)補(bǔ)碼碼來代替。來代替。 對(duì)于任意對(duì)于任意x,在模,在模M的條件下的補(bǔ)數(shù)的條件下的補(bǔ)數(shù)x補(bǔ)補(bǔ),可由式,可由式(2- -4)給出:給出: x補(bǔ)補(bǔ)=m+x(mod M) (2- -4) 例例 時(shí)鐘系統(tǒng)時(shí)鐘系統(tǒng) 10- -410+(12- -4)10+86 (mod 12) 27 例例 4位十進(jìn)制計(jì)數(shù)器位十進(jìn)制計(jì)數(shù)器 9828- -19289828+(104- -1928)9828+8072 7900 (mod 104) 根據(jù)式根據(jù)式(2- -4)可知可知: (1)當(dāng)當(dāng)x0時(shí),時(shí),m+x大于大于M,把,把M丟掉,得

41、丟掉,得x補(bǔ)補(bǔ)=x,即正數(shù)的補(bǔ)數(shù)等,即正數(shù)的補(bǔ)數(shù)等于其本身。于其本身。 (2)當(dāng)當(dāng)x0時(shí),時(shí),x補(bǔ)補(bǔ) m+xM- -|x|,即負(fù)數(shù)的補(bǔ)數(shù)等于模與該數(shù),即負(fù)數(shù)的補(bǔ)數(shù)等于模與該數(shù)絕對(duì)值之差。絕對(duì)值之差。 例例2.8求求 模模時(shí),二進(jìn)制數(shù)時(shí),二進(jìn)制數(shù)x的補(bǔ)數(shù)。的補(bǔ)數(shù)。 x+0.10110101 x- -0.10110101 解:解: 因?yàn)橐驗(yàn)閤0,把模,把模2丟掉,所以丟掉,所以x補(bǔ)補(bǔ)=2+x=0.10110101 (mod2) 因?yàn)橐驗(yàn)閤0,所以,所以x補(bǔ)補(bǔ)=2+x=2- -|x|=10.00000000- -0.10110101 =1.01001011 (mod 2) 2補(bǔ)碼的定義補(bǔ)碼的定義 設(shè)

42、補(bǔ)碼的位數(shù)為設(shè)補(bǔ)碼的位數(shù)為n+1位位(其中符號(hào)占其中符號(hào)占1位位),數(shù)值部分為,數(shù)值部分為n位。則補(bǔ)位。則補(bǔ)碼定義如下:碼定義如下:28 設(shè)有定點(diǎn)小數(shù)設(shè)有定點(diǎn)小數(shù) 0.x1x2 xn ,其補(bǔ)碼用,其補(bǔ)碼用n+1位字長位字長表示形式為表示形式為xs.x1x2 xn ,其中,其中xs為符號(hào)位。那么,其補(bǔ)碼的定義如下:為符號(hào)位。那么,其補(bǔ)碼的定義如下: 設(shè)有定點(diǎn)整數(shù)設(shè)有定點(diǎn)整數(shù) xnxn-1 x0 ,其原碼用,其原碼用n+1位字長位字長表示形式為表示形式為xs,xn-1xn-2 x0 ,其中,其中xs為符號(hào)位。那么,補(bǔ)碼的定義如下:為符號(hào)位。那么,補(bǔ)碼的定義如下:5)-(2 2) (mod 01-

43、210 xxxxx補(bǔ)補(bǔ)6)-(2 )2 (mod 02- |2220 111 nnnnnxxxxxx補(bǔ)補(bǔ) 例例2.9 已知已知x,求,求x的補(bǔ)碼的補(bǔ)碼x補(bǔ)補(bǔ) x=+0.1010110 x=- -0.1010110 x=+1010110 x=- -1010110 解:解:根據(jù)補(bǔ)碼的定義,可得根據(jù)補(bǔ)碼的定義,可得 x補(bǔ)補(bǔ)=x=0.1010110 x補(bǔ)補(bǔ)=2+x=10.0000000+(- -0.1010110 )=1.0101010 x補(bǔ)補(bǔ)=x= 0 1010110 x補(bǔ)補(bǔ)=27+x=10000000+(- -1010110 )=1 01010104929 3特殊數(shù)的補(bǔ)碼表示特殊數(shù)的補(bǔ)碼表示 (1

44、) 真值真值0的補(bǔ)碼表示的補(bǔ)碼表示 根據(jù)補(bǔ)碼的定義可知,真值根據(jù)補(bǔ)碼的定義可知,真值0的補(bǔ)碼表示是惟一的的補(bǔ)碼表示是惟一的,即:,即: +0補(bǔ)補(bǔ)= - -0補(bǔ)補(bǔ)=20.00.0=0.000 (純小數(shù)純小數(shù)) +0補(bǔ)補(bǔ)= - -0補(bǔ)補(bǔ)=2n+10000=0000 (純整數(shù)純整數(shù)) (2) - -1和和- -2n的補(bǔ)碼表示的補(bǔ)碼表示 在純小數(shù)補(bǔ)碼表示中,在純小數(shù)補(bǔ)碼表示中, - -1補(bǔ)補(bǔ)=2+(- -1.00.0)=1.000 在純整數(shù)補(bǔ)碼表示中,在純整數(shù)補(bǔ)碼表示中,- -2n補(bǔ)補(bǔ)= 1 00.0 +(- -1 00.0)=1 000 n+1個(gè)個(gè)0 n個(gè)個(gè)0 n個(gè)個(gè)0 4補(bǔ)碼的簡(jiǎn)便求法補(bǔ)碼的簡(jiǎn)便求

45、法 給定一個(gè)二進(jìn)制數(shù)給定一個(gè)二進(jìn)制數(shù)x,如果需要求其補(bǔ)碼,可以直接根據(jù)定義求,如果需要求其補(bǔ)碼,可以直接根據(jù)定義求得。但當(dāng)?shù)?。但?dāng)x0時(shí),根據(jù)定義需要做減法運(yùn)算,不太方便,因此可采時(shí),根據(jù)定義需要做減法運(yùn)算,不太方便,因此可采用以下簡(jiǎn)便方法:用以下簡(jiǎn)便方法: (1)若若x0,則,則x補(bǔ)補(bǔ)=x,并使符號(hào)位為,并使符號(hào)位為0。 (2)若若x0,符號(hào)固定為符號(hào)固定為1,數(shù)值部分的各位取反,末位加,數(shù)值部分的各位取反,末位加1。即得即得x補(bǔ)補(bǔ)30 例例2.10 證明補(bǔ)碼的簡(jiǎn)便求法。證明補(bǔ)碼的簡(jiǎn)便求法。 證:證:設(shè)設(shè)x為純小數(shù),根據(jù)式為純小數(shù),根據(jù)式(2- -5)的定義,有的定義,有 當(dāng)當(dāng)x=+0.x1

46、x2 xn 時(shí),時(shí), x補(bǔ)補(bǔ)= 0.x1x2 xn ,這時(shí)符號(hào)位,這時(shí)符號(hào)位x0=0,表,表示示x0; 當(dāng)當(dāng)=- -0.x1x2 xn時(shí),時(shí), x補(bǔ)補(bǔ)=2+x=2- -0.x1x2 xn =1.111+0.001- -0.x1x2 xn=1.111- -0.x1x2 xn +0.001所以當(dāng)所以當(dāng)x0時(shí),將時(shí),將x的各位取反,再在最低位上加的各位取反,再在最低位上加1,即可求得,即可求得x的補(bǔ)碼的補(bǔ)碼x補(bǔ)補(bǔ)。還有一種簡(jiǎn)單的方法求負(fù)數(shù)還有一種簡(jiǎn)單的方法求負(fù)數(shù)x的補(bǔ)碼的補(bǔ)碼: x0,符號(hào)位固定為符號(hào)位固定為1,從右往左查其原碼,遇到第,從右往左查其原碼,遇到第1個(gè)時(shí),其右個(gè)時(shí),其右各位各位0和該位

47、和該位1照寫,該位照寫,該位1之左各位取反即可之左各位取反即可。 例例2.11 用簡(jiǎn)便方法求出例用簡(jiǎn)便方法求出例2.9中中x的補(bǔ)碼。的補(bǔ)碼。 x=+0.1010110, x0,x補(bǔ)補(bǔ)= 0.1010110 x=- -0.1010110, x0,x補(bǔ)補(bǔ)=1.0101010 x=+1010110, x0,x補(bǔ)補(bǔ)=0 1010110 x=- -1010110, x0,x補(bǔ)補(bǔ)=1 0101010 010 . 0. 121 nxxx31 例例 已知已知x補(bǔ)補(bǔ)=1 0100110,求,求x。 解:解: x0=1,表明,表明x0,可用下面兩種方法求,可用下面兩種方法求x真值。真值。 將將x的各位取反,再在最

48、低位上加的各位取反,再在最低位上加1,即可求得,即可求得 x補(bǔ)補(bǔ)的真值的真值xx=- -(1011001+1)=- -1011010 符號(hào)位為符號(hào)位為1,則真值符號(hào)取,則真值符號(hào)取“- -” ,數(shù)值位從右往左遇到第,數(shù)值位從右往左遇到第1個(gè)時(shí),其右各位個(gè)時(shí),其右各位0和該位和該位1照寫,該位照寫,該位1之左各位取反即可。之左各位取反即可。x=- -1011010表表2- -1 n=3位時(shí)所有整數(shù)的補(bǔ)碼位時(shí)所有整數(shù)的補(bǔ)碼真值真值補(bǔ)碼補(bǔ)碼真值真值補(bǔ)碼補(bǔ)碼+111(+7)0 111- - 001(- - 1)1 111+110(+6)0 110- - 010(- - 2)1 110+101(+5)0

49、 101- - 011(- - 3)1 101+100(+4)0 100- - 100(- - 4)1 100+011(+3)0 011- - 101(- - 5)1 011+010(+2)0 010- - 110(- - 6)1 010+001(+1)0 001- - 111(- - 7)1 001+000(+0)0 000- - 1000(- - 8)1 00032圖圖2-1 補(bǔ)碼的幾何性質(zhì)補(bǔ)碼的幾何性質(zhì) 補(bǔ)碼的幾何性質(zhì)說明了以下兩點(diǎn):補(bǔ)碼的幾何性質(zhì)說明了以下兩點(diǎn): (1)正數(shù)的補(bǔ)碼表示就是其本身,正數(shù)的補(bǔ)碼表示就是其本身,負(fù)數(shù)的補(bǔ)碼表示的實(shí)質(zhì)是把負(fù)數(shù)負(fù)數(shù)的補(bǔ)碼表示的實(shí)質(zhì)是把負(fù)數(shù)映像到正值

50、區(qū)域,因此加上一個(gè)負(fù)數(shù)或減去一個(gè)正數(shù)可以用加上另映像到正值區(qū)域,因此加上一個(gè)負(fù)數(shù)或減去一個(gè)正數(shù)可以用加上另一個(gè)數(shù)一個(gè)數(shù)(負(fù)數(shù)或減數(shù)對(duì)應(yīng)的補(bǔ)碼負(fù)數(shù)或減數(shù)對(duì)應(yīng)的補(bǔ)碼)來代替。來代替。 (2)從補(bǔ)碼表示的符號(hào)看,補(bǔ)碼中符號(hào)位的值代表了數(shù)的正確符號(hào)從補(bǔ)碼表示的符號(hào)看,補(bǔ)碼中符號(hào)位的值代表了數(shù)的正確符號(hào),0表示正數(shù),表示正數(shù),1表示負(fù)數(shù);表示負(fù)數(shù);而從映像值來看,符號(hào)位的值是映像值而從映像值來看,符號(hào)位的值是映像值的一個(gè)數(shù)位,因此在補(bǔ)碼運(yùn)算中,符號(hào)位可以與數(shù)值位一起參加運(yùn)的一個(gè)數(shù)位,因此在補(bǔ)碼運(yùn)算中,符號(hào)位可以與數(shù)值位一起參加運(yùn)算。算。33 6補(bǔ)碼的幾個(gè)關(guān)系補(bǔ)碼的幾個(gè)關(guān)系 補(bǔ)碼與原碼的轉(zhuǎn)換關(guān)系補(bǔ)碼與原碼

51、的轉(zhuǎn)換關(guān)系 若若x0,則,則x原原= x補(bǔ)補(bǔ) 。 若若x0,則將,則將x原原除符號(hào)位以外的各位取反后除符號(hào)位以外的各位取反后(即符號(hào)位不變即符號(hào)位不變),再在最低位上加,再在最低位上加1,即可得到,即可得到x補(bǔ)補(bǔ);反之,將;反之,將x補(bǔ)補(bǔ)除符號(hào)位以外除符號(hào)位以外的各位取反后,再在最低位上加的各位取反后,再在最低位上加1,即可得到,即可得到x原原。 例例2.12將下列將下列x的原碼表示轉(zhuǎn)換為補(bǔ)碼表示。的原碼表示轉(zhuǎn)換為補(bǔ)碼表示。 x原原=0.1010110 x原原=1.1010110 x原原=01010110 x原原=11010110 解:解:根據(jù)原碼與補(bǔ)碼的轉(zhuǎn)換原則,得根據(jù)原碼與補(bǔ)碼的轉(zhuǎn)換原則,

52、得 x原原=0.1010110, x0 x補(bǔ)補(bǔ)=0.1010110 x原原=1.1010110, x0 x補(bǔ)補(bǔ)=1.0101010 x原原=0 1010110, x0 x補(bǔ)補(bǔ)=0 1010110 x原原=1 1010110 , x0 x補(bǔ)補(bǔ)=1 0101010例例2.13將下列將下列x的補(bǔ)碼表示轉(zhuǎn)換為原碼表示,并求出對(duì)應(yīng)的真值。的補(bǔ)碼表示轉(zhuǎn)換為原碼表示,并求出對(duì)應(yīng)的真值。 x補(bǔ)補(bǔ)=1.10110 x補(bǔ)補(bǔ)=1.1110134 解:解: x補(bǔ)補(bǔ)=1.10110 x原原= 1.01010, x=- -0.01010 x補(bǔ)補(bǔ)=1.11101 x原原= 1.00011, x=- -0.00011 補(bǔ)碼與

53、機(jī)器負(fù)數(shù)的關(guān)系補(bǔ)碼與機(jī)器負(fù)數(shù)的關(guān)系 由由x補(bǔ)補(bǔ)求求- -x補(bǔ)補(bǔ)規(guī)則是規(guī)則是:連符號(hào)位一起取反,末位加連符號(hào)位一起取反,末位加1。 證明如下:證明如下: 設(shè)設(shè)x補(bǔ)補(bǔ)=1.0100110,求,求- -x補(bǔ)補(bǔ) x原原=1.1011010 x =- -0.1011010 則則 - -x =+ +0.1011010 所以所以 - -x補(bǔ)補(bǔ)=0.1011010 例例2.14 已知已知x補(bǔ)補(bǔ),求,求- -x補(bǔ)補(bǔ) 。 x補(bǔ)補(bǔ)=0 1001101 x補(bǔ)補(bǔ)=1 0110010。 解:根據(jù)對(duì)解:根據(jù)對(duì)X補(bǔ)補(bǔ)求補(bǔ)的規(guī)則,得求補(bǔ)的規(guī)則,得 x補(bǔ)補(bǔ)=0 1001101, - -x補(bǔ)補(bǔ)=1 0110011 x補(bǔ)補(bǔ)=1 01

54、10010, - -x補(bǔ)補(bǔ)=0 1001110 35 補(bǔ)碼的左移和右移補(bǔ)碼的左移和右移 例:由例:由x補(bǔ)補(bǔ)求求x/2補(bǔ)補(bǔ)。 設(shè)設(shè) x補(bǔ)補(bǔ)=x0.x1x2 xn 當(dāng)當(dāng) x0=0時(shí),即時(shí),即x值為正,值為正,x補(bǔ)補(bǔ)=0.x1x2 xn= niiixx12 即即 x= 1.x1x2 xn- -2= - -1+0.x1x2 xn=- -1+ niiix12 故故 x= - -x0+ niiix12 而而 niiiniiixxxxxx111001022222 niiixx0)1(02 當(dāng)當(dāng) x0=1時(shí),即時(shí),即x值為負(fù)值為負(fù),x補(bǔ)補(bǔ)=1.x1x2 xn= 2+x 寫成補(bǔ)碼形式,即得:寫成補(bǔ)碼形式,即得:

55、 x/2補(bǔ)補(bǔ)= x0.x0 x1x2 xn36 由此可見,由此可見, x/2補(bǔ)補(bǔ)是是x補(bǔ)補(bǔ)連同符號(hào)連同符號(hào)一起一起右移右移1位,依此類推求位,依此類推求2- -ix補(bǔ)補(bǔ),則,則x補(bǔ)補(bǔ)連同符號(hào)一起右移連同符號(hào)一起右移 i 位即可。位即可。 根據(jù)二進(jìn)制數(shù)的移位規(guī)則和補(bǔ)碼的定義,可知補(bǔ)碼的移位規(guī)則:根據(jù)二進(jìn)制數(shù)的移位規(guī)則和補(bǔ)碼的定義,可知補(bǔ)碼的移位規(guī)則: 補(bǔ)碼的左移:補(bǔ)碼的左移:符號(hào)位不變,數(shù)值部分左移,最低位移出的空位符號(hào)位不變,數(shù)值部分左移,最低位移出的空位填填0。 補(bǔ)碼的右移:補(bǔ)碼的右移:符號(hào)位不變,數(shù)值部分右移,符號(hào)位不變,數(shù)值部分右移,最高位移出的空位最高位移出的空位填補(bǔ)與符號(hào)位相同的代碼

56、。填補(bǔ)與符號(hào)位相同的代碼。 例例2.15 已知已知x補(bǔ)補(bǔ),求,求2x補(bǔ)補(bǔ),x/2補(bǔ)補(bǔ) x補(bǔ)補(bǔ)=0.0101001 x補(bǔ)補(bǔ)=11011010 解:解: x補(bǔ)補(bǔ)=0.0101001, 2x補(bǔ)補(bǔ)=0.1010010 左移后,符號(hào)位保持不變,數(shù)值最高位移出,最低位填左移后,符號(hào)位保持不變,數(shù)值最高位移出,最低位填0。 x/2補(bǔ)補(bǔ)=0.0010100 右移后,符號(hào)位保持不變,數(shù)值最高位填與符號(hào)位相同的右移后,符號(hào)位保持不變,數(shù)值最高位填與符號(hào)位相同的0,末尾的末尾的1移出。移出。 37 x補(bǔ)補(bǔ)=1 1011010, 2x補(bǔ)補(bǔ)=1 0110100 左移后,符號(hào)位保持不變,數(shù)值最高位移出,最低位填左移后,符

57、號(hào)位保持不變,數(shù)值最高位移出,最低位填0。 x/2補(bǔ)補(bǔ)=1 1101101 右移后,符號(hào)位保持不變,數(shù)值最高位填與符號(hào)位相同的右移后,符號(hào)位保持不變,數(shù)值最高位填與符號(hào)位相同的1,末,末尾的尾的0移出。移出。設(shè)設(shè)X補(bǔ)補(bǔ)=1.0100110,則,則 X/2補(bǔ)補(bǔ)=1.1010011,X/4補(bǔ)補(bǔ)=1.1101001,。 7補(bǔ)碼的特點(diǎn)補(bǔ)碼的特點(diǎn) (1)在補(bǔ)碼表示中,用符號(hào)位在補(bǔ)碼表示中,用符號(hào)位x0表示數(shù)值的正負(fù),形式與原碼表示表示數(shù)值的正負(fù),形式與原碼表示相同,即相同,即0為正;為正;l為負(fù)。但補(bǔ)碼的符號(hào)可以看做是數(shù)值的一部分參為負(fù)。但補(bǔ)碼的符號(hào)可以看做是數(shù)值的一部分參加運(yùn)算。加運(yùn)算。 (2)在補(bǔ)碼

58、表示中,數(shù)值在補(bǔ)碼表示中,數(shù)值0只有一種表示方法,即只有一種表示方法,即000。 (3)負(fù)數(shù)補(bǔ)碼的表示范圍比負(fù)數(shù)原碼的表示范圍略寬。純小數(shù)的補(bǔ)負(fù)數(shù)補(bǔ)碼的表示范圍比負(fù)數(shù)原碼的表示范圍略寬。純小數(shù)的補(bǔ)碼可以表示到碼可以表示到- -l,純整數(shù)的補(bǔ)碼可以表示到,純整數(shù)的補(bǔ)碼可以表示到- -2n。 382.2.4 反碼表示反碼表示 反碼表示也是一種機(jī)器數(shù),它實(shí)質(zhì)上是一種特殊的補(bǔ)碼,其特殊反碼表示也是一種機(jī)器數(shù),它實(shí)質(zhì)上是一種特殊的補(bǔ)碼,其特殊之處在于反碼的模比補(bǔ)碼的模小一個(gè)最低位上的之處在于反碼的模比補(bǔ)碼的模小一個(gè)最低位上的1。 1反碼的定義反碼的定義 根據(jù)補(bǔ)碼的定義可以推出反碼的定義如式根據(jù)補(bǔ)碼的定義

59、可以推出反碼的定義如式(2-7)和式和式(2-8)所示。所示。 設(shè)有定點(diǎn)小數(shù)設(shè)有定點(diǎn)小數(shù) 0.x1x2 xn ,其反碼用,其反碼用n+1位字長位字長表示形式為表示形式為x0.x1x2 xn ,其中,其中x0為符號(hào)位。那么,其反碼的定義如下:為符號(hào)位。那么,其反碼的定義如下: 設(shè)有定點(diǎn)整數(shù)設(shè)有定點(diǎn)整數(shù) xnxn-1 x0 ,其反碼用,其反碼用n+1位字長位字長表示形式為表示形式為xn,xn-1xn-2 x0 ,其中,其中xn為符號(hào)位。那么,反碼的定義如下:為符號(hào)位。那么,反碼的定義如下:7)-(2 )2-2 (mod 01- 2210 -nnxxxxx 反反8)-(2 1)-2 (mod 02-

60、 1220 11nnnnxxxxx反其中,其中,n為為數(shù)值位數(shù)值位的長度。的長度。39 根據(jù)反碼的定義可得反碼表示的求法:根據(jù)反碼的定義可得反碼表示的求法: (1)若若x0,則使符號(hào)位為,則使符號(hào)位為0,數(shù)值部分與,數(shù)值部分與x相同,即可得到相同,即可得到x反反。 (2)若若x0,則使符號(hào)位為,則使符號(hào)位為1, x的數(shù)值部分各位取反,即可得到的數(shù)值部分各位取反,即可得到x反反。 例例2.16 已知已知x ,求,求x反反。 x=+0.0101001 x= +1011010 x=- -0.0101001 x=- -1011010 解:解:根據(jù)反碼的定義,可得根據(jù)反碼的定義,可得 x反反=0.010

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論