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

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)組成原理

數(shù)值型數(shù)據(jù):可用來(lái)表示數(shù)量的多少,可比較其大小,具有特定值的一類數(shù)據(jù)。

非數(shù)值型數(shù)據(jù):主要指字符數(shù)據(jù)、邏輯數(shù)據(jù)等。在一些專用處理器上指令集可對(duì)多媒體信息進(jìn)行處理,此時(shí)圖形、聲音和活動(dòng)圖象數(shù)據(jù)看成非數(shù)值型數(shù)據(jù)。

信息:根據(jù)ISO定義,可以通俗認(rèn)為,信息是對(duì)人有用的數(shù)據(jù),這些數(shù)據(jù)可能影響到人們的行為和決策。

計(jì)算機(jī)信息處理,簡(jiǎn)言之由計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理,處理主要目標(biāo)是獲取有用信息。即通過(guò)數(shù)據(jù)采集和輸入、有效地把數(shù)據(jù)組織到計(jì)算機(jī)中,由計(jì)算機(jī)系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的處理加工(如存儲(chǔ)、建庫(kù)、轉(zhuǎn)換、合并、分類、計(jì)算統(tǒng)計(jì)、匯總、傳送等操作),最后提供有用的信息給用戶。媒體—承載信息的載體。根據(jù)ITU下屬CCITT的定義,與計(jì)算機(jī)信息處理有關(guān)的媒體有5種:第2頁(yè),共119頁(yè),2024年2月25日,星期天⑴感覺(jué)媒體⑵表示媒體⑶存儲(chǔ)媒體⑷表現(xiàn)媒體:⑸傳輸媒體:通信載體數(shù)字計(jì)算機(jī)內(nèi)部所處理的所有數(shù)字都是“數(shù)字化編碼”了的數(shù)據(jù),即都是一種表示媒體信息。第3頁(yè),共119頁(yè),2024年2月25日,星期天

“數(shù)字化編碼”過(guò)程:指對(duì)感覺(jué)媒體信息進(jìn)行定時(shí)采樣,將現(xiàn)實(shí)世界中的連續(xù)信息轉(zhuǎn)換成計(jì)算機(jī)中的離散的“樣本”信息。然后對(duì)這些離散的“樣本”信息用“0”或“1”這兩個(gè)基本符號(hào)進(jìn)行數(shù)字化編碼,即對(duì)樣本值進(jìn)行二進(jìn)制編碼。

編碼:就是用少量簡(jiǎn)單的基本符號(hào),對(duì)大量復(fù)雜多樣的信息進(jìn)行一定規(guī)律的組合。

基本符號(hào)和組合規(guī)則是一切信息編碼的兩大要素。

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

計(jì)算機(jī)內(nèi)部處理的對(duì)象分為兩大類:數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)。數(shù)值數(shù)據(jù)的編碼表示

輸入到計(jì)算機(jī)內(nèi)部的數(shù)據(jù)若有確定的值,即在數(shù)軸上能找到其對(duì)應(yīng)的點(diǎn),則稱為數(shù)值數(shù)據(jù)。第4頁(yè),共119頁(yè),2024年2月25日,星期天

計(jì)算機(jī)內(nèi)部的數(shù)值數(shù)據(jù)的表示方法有兩大類:直接用二進(jìn)制數(shù)表示或采用二進(jìn)制編碼的十進(jìn)制(BCD碼—BinaryCodedDecimalNumber)表示。2.1進(jìn)位計(jì)數(shù)制與數(shù)制之間的轉(zhuǎn)換

進(jìn)位計(jì)數(shù)制—用少量的符號(hào)(也稱數(shù)碼),按先后次序把它們排列成序列,由低到高進(jìn)行計(jì)數(shù),計(jì)滿進(jìn)位。

基數(shù)—計(jì)數(shù)制中所用到的數(shù)字符號(hào)個(gè)數(shù)。

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

Rn-1+

xn-2

Rn-2+

…+

x1

R1+

x0

R0+x-1

R-1+

x-2

R-2+

+

x-m

R-m(2-1)第5頁(yè),共119頁(yè),2024年2月25日,星期天

一般地,一個(gè)十進(jìn)制數(shù)D=dn-1dn-2…d1d0.d-1d-2…

d-m

其對(duì)應(yīng)值為:

V(D)10=dn-210n-2

+dn-110n-1+…+

d1101+d0100+d-110-1+d-210-2+

+

d-m

10-m

其中di(i=n-1,…,1,0,-1,-2,…,-m)可是0~9十個(gè)數(shù)字符號(hào)中任何一個(gè),故基數(shù)為“10”。10i為第i位上的位權(quán)。在十進(jìn)制數(shù)進(jìn)行運(yùn)算時(shí),每位計(jì)滿十之后要向高位進(jìn)一。

例:十進(jìn)制數(shù)2059.65代表的實(shí)際值用位權(quán)展開(kāi)為V(2059.65)10=2103+0102+5101+9100+610-1+510-2

同理,二進(jìn)制數(shù)的基數(shù)是2,只有兩個(gè)數(shù)字符號(hào)“0”和“1”,采用“逢二進(jìn)一”的規(guī)則。

例:二進(jìn)制數(shù)(100101.01)2的實(shí)際值(100101.01)2=125+024+023+122+021+

020+02-1+12-2

一般地,一個(gè)二進(jìn)制數(shù)B=bn-1

bn-2…b1b0.b-1b-2…

b-m第6頁(yè),共119頁(yè),2024年2月25日,星期天

其對(duì)應(yīng)值為:

V(B)2=bn-1

2n-1+bn-2

2n-2+…+b121+b020+b-12-1+b-22-2+…+b-m

2-m

其中bi(i=n-1,n-2,…,1,0,-1,-2,…,-m)可是0或1兩個(gè)數(shù)字之一。

例2.1計(jì)算機(jī)系統(tǒng)中常用的進(jìn)位計(jì)數(shù)制有:

二進(jìn)制數(shù):基數(shù)為2,各位數(shù)字的取值范圍是0~l,計(jì)數(shù)規(guī)則是“逢二進(jìn)一”,后綴為B。如(10100011.1101)2=10100011.1101B。

八進(jìn)制數(shù):基數(shù)為8,各位數(shù)字的取值范圍是0~7,計(jì)數(shù)規(guī)則是“逢八進(jìn)一”,后綴為O或Q。如(137.67)8=137.67Q。

十進(jìn)制數(shù):基數(shù)為10,各位數(shù)字的取值范圍是O~9,計(jì)數(shù)規(guī)則是“逢十進(jìn)一”,后綴為D或不用后綴。如(2357.89)10=2357.89或(2357.89)10=2357.89D。

十六進(jìn)制數(shù):基數(shù)為16,基本符號(hào)0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)。計(jì)數(shù)規(guī)則是“逢十六進(jìn)一”,后綴為H,如(A9BF.36E)16=A9BF.36EH。第7頁(yè),共119頁(yè),2024年2月25日,星期天四種進(jìn)位計(jì)數(shù)制之間的關(guān)系見(jiàn)下表。F15171111E14161110D13151101C12141100B11131011A10121010991110018810100077701116660110555010144401003330011222001011100010000000十六進(jìn)制十進(jìn)制八進(jìn)制二進(jìn)制四種進(jìn)位計(jì)數(shù)制之間對(duì)應(yīng)關(guān)系表第8頁(yè),共119頁(yè),2024年2月25日,星期天

在進(jìn)行不同進(jìn)制數(shù)的轉(zhuǎn)換時(shí),應(yīng)注意以下幾個(gè)方面的問(wèn)題:

1)不同進(jìn)制數(shù)的基數(shù)不同,所使用的數(shù)字的取值范圍也不同。

2)將任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法是“按權(quán)相加”,即利用按權(quán)展開(kāi)多項(xiàng)式將系數(shù)xi與位權(quán)值相乘后,將乘積逐項(xiàng)求和。

例(100101.01)2=(125+024+023+122+021+120+02-1+12-2)10=(37.25)10

例(307.4)8=(382+081+780+48-1)10=(199.5)10

例(4A.2)16=(416+10160+416-1)10=(74.125)10

3)將十進(jìn)制數(shù)轉(zhuǎn)換為任意進(jìn)制數(shù)時(shí),整數(shù)部分與小數(shù)部分需分別進(jìn)行轉(zhuǎn)換。整數(shù)部分的轉(zhuǎn)換方法是“除以基取余”,小數(shù)部分的轉(zhuǎn)換方法是“乘以基取整”。第9頁(yè),共119頁(yè),2024年2月25日,星期天

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

(2)利用乘以基取整法將十進(jìn)制小數(shù)轉(zhuǎn)換為R進(jìn)制小數(shù)的規(guī)則:①把被轉(zhuǎn)換的十進(jìn)制小數(shù)乘以基數(shù)R,所得乘積的整數(shù)部分即為R進(jìn)制小數(shù)的最高位數(shù)字。②將前次計(jì)算所得到的乘積的小數(shù)部分再乘以基數(shù)R,所得新的乘積的整數(shù)部分即為R進(jìn)制小數(shù)的相應(yīng)位數(shù)字。③重復(fù)步驟②,直到乘積的小數(shù)部分為0或求得所要求的位數(shù)為止。

4)因?yàn)?3=8,24=16,所以二進(jìn)制數(shù)與八進(jìn)制數(shù)、十六進(jìn)制數(shù)之間的轉(zhuǎn)換可以利用它們之間的對(duì)應(yīng)關(guān)系直接進(jìn)行轉(zhuǎn)換。第10頁(yè),共119頁(yè),2024年2月25日,星期天

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

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

例2.2將二進(jìn)制數(shù)110011.101轉(zhuǎn)換為十進(jìn)制數(shù)。

解:利用按權(quán)展開(kāi)多項(xiàng)式,采用“按權(quá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)10

第11頁(yè),共119頁(yè),2024年2月25日,星期天8104……………0

例2.3將(10101.0110101)2轉(zhuǎn)換為八進(jìn)制數(shù)和十六進(jìn)制數(shù)。

解:①根據(jù)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)的方法可得

(10101.0110101)2=(010101.011010100)2=(25.324)8

②根據(jù)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)的方法可得

(10101.0110101)2=(00010101.01101010)2=(15.6A)8

例2.4①將十進(jìn)制數(shù)834轉(zhuǎn)換成八進(jìn)制數(shù)余數(shù)低位8834……………281……………1813……………50高位

所以(834)10=(1502)8

②將十進(jìn)制數(shù)834轉(zhuǎn)換成二進(jìn)制數(shù)第12頁(yè),共119頁(yè),2024年2月25日,星期天0高位2834

………………02417

………………12208

………………02104

………………0252………………0226………………0213………………026………………023………………121………………1

所以,所以(835)10=(1101000010)2余數(shù)低位第13頁(yè),共119頁(yè),2024年2月25日,星期天

1

………1.50

2

0

………0.75

2

1………

1.375

2

例①將(0.6875)10轉(zhuǎn)換為二進(jìn)制數(shù)。高位整數(shù)位0.6875

2

1

………1.0

低位故(0.6875)10=(0.1011)2第14頁(yè),共119頁(yè),2024年2月25日,星期天

②將(0.6875)10轉(zhuǎn)換為八進(jìn)制數(shù)。

高位

整數(shù)位

低位

故(0.6875)10=(0.54)8

注意:由于計(jì)算機(jī)的位數(shù)限制,或者被轉(zhuǎn)換的十進(jìn)制實(shí)數(shù)不一定表達(dá)成

2-i的形式,其轉(zhuǎn)換的結(jié)果,一般為近似值。

例:將(0.15)10轉(zhuǎn)換為二進(jìn)制數(shù),設(shè)計(jì)算機(jī)系統(tǒng)為8位二進(jìn)制,則小數(shù)為7位,轉(zhuǎn)換過(guò)程如下:0.6875

8

5………5.5

8

4………4.0

第15頁(yè),共119頁(yè),2024年2月25日,星期天0.15

2

0…………0.30

20…………0.60

2

0…………0.40

2

高位整數(shù)位

1…………1.20

2

0…………0.80

2

1…………1.20

1…………1.60

2

低位故(0.15)10≈(0.0010011)2第16頁(yè),共119頁(yè),2024年2月25日,星期天2.2帶符號(hào)數(shù)的表示2.2.1機(jī)器數(shù)與真值采用二進(jìn)制表示形式的連同數(shù)符一起代碼化了的數(shù)據(jù),在計(jì)算機(jī)中統(tǒng)稱為機(jī)器數(shù)或機(jī)器碼。

真值-用正、負(fù)符號(hào)加絕對(duì)值來(lái)表示的實(shí)際數(shù)值。

機(jī)器數(shù)可分為無(wú)符號(hào)數(shù)和帶符號(hào)數(shù)兩種。

無(wú)符號(hào)數(shù)-是指計(jì)算機(jī)字長(zhǎng)的所有二進(jìn)制位均表示數(shù)值。

帶符號(hào)數(shù)-是指機(jī)器數(shù)分為符號(hào)和數(shù)值部分,且均用二進(jìn)制代碼表示。

例2.5設(shè)某機(jī)器的字長(zhǎng)為8位,無(wú)符號(hào)整數(shù)在機(jī)器中的表示形式為:

70數(shù)據(jù)帶符號(hào)整數(shù)在機(jī)器中的表示形式為:70S數(shù)據(jù)第17頁(yè),共119頁(yè),2024年2月25日,星期天

分別寫出機(jī)器數(shù)10011001作為無(wú)符號(hào)整數(shù)和帶符號(hào)整數(shù)對(duì)應(yīng)的真值。

解:10011001作為無(wú)符號(hào)整數(shù)時(shí),對(duì)應(yīng)的真值是(10011001)2=(153)10

10011001作為有符號(hào)整數(shù)時(shí),其最高位的數(shù)碼1代表符號(hào)“-”,所以與機(jī)器數(shù)10011001對(duì)應(yīng)的真值是(-0011001)2=(-25)10

綜上所述,可得機(jī)器數(shù)的特點(diǎn)為:

(1)數(shù)的符號(hào)采用二進(jìn)制代碼化,0代表“+”,1代表“-”。通常將符號(hào)的代碼放在數(shù)據(jù)的最高位。

(2)小數(shù)點(diǎn)本身是隱含的,不占用存儲(chǔ)空間。

(3)每個(gè)機(jī)器數(shù)數(shù)據(jù)所占的二進(jìn)制位數(shù)受機(jī)器硬件規(guī)模的限制,與機(jī)器字長(zhǎng)有關(guān)。超過(guò)機(jī)器字長(zhǎng)的數(shù)值要舍去。第18頁(yè),共119頁(yè),2024年2月25日,星期天

例如,如果要將數(shù)x=+0.101100111在字長(zhǎng)為8位的機(jī)器中表示為一個(gè)單字長(zhǎng)的數(shù),則只能表示為01011001,最低位的兩個(gè)1無(wú)法在機(jī)器中表示。因?yàn)闄C(jī)器數(shù)的長(zhǎng)度是由機(jī)器硬件規(guī)模規(guī)定的,所以機(jī)器數(shù)表示的數(shù)值是不連續(xù)的。

例如8位二進(jìn)制無(wú)符號(hào)數(shù)可以表示256個(gè)整數(shù):00000000~11111111可表示0~127;

8位二進(jìn)制帶符號(hào)數(shù)中:

00000000~01111111可表示正整數(shù)0~127,

11111111~10000000可表示負(fù)數(shù)-127~0,共256個(gè)數(shù),其中00000000表示+0,10000000表示-0。

2.2.2原碼表示

編碼系統(tǒng)

確定一個(gè)數(shù)值數(shù)據(jù)的三要素是:進(jìn)位計(jì)數(shù)制、定點(diǎn)/浮點(diǎn)表示和編碼表示。它們分別用來(lái)解決數(shù)值數(shù)據(jù)的基本符號(hào)、小數(shù)點(diǎn)位置和數(shù)的正負(fù)號(hào)。第19頁(yè),共119頁(yè),2024年2月25日,星期天

設(shè)n+1位機(jī)器數(shù)X的數(shù)字化編碼后的機(jī)器數(shù)X表示為:xnxn-1…x1x0。其中xi為0或1。

機(jī)器數(shù)X的第一位xn為數(shù)的符號(hào),它的取值與真值XT有關(guān)。大多數(shù)情況下,取值0表示該數(shù)為正,取值1表示該數(shù)為負(fù)。機(jī)器數(shù)X中除了xn之外的后n位:xn-1…x1x0是數(shù)值部分,各位取值與編碼有關(guān),各位取值規(guī)定如下:

⑴當(dāng)XT>0時(shí),xi=xi

(X為定點(diǎn)整數(shù)),或xi=xi-n

(X為定點(diǎn)小數(shù))

⑵當(dāng)XT≤0時(shí),數(shù)值部分各位取值依賴于相應(yīng)的編碼方式,常用的編碼方式有原碼、補(bǔ)碼和反碼三種。

⒈原碼表示法

原碼表示法也稱“數(shù)值-符號(hào)”表示法。符號(hào)用“0”表示“+”,“1”表示“-”。

⑴設(shè)有定點(diǎn)小數(shù)

0.x1x2

xn

,其原碼用n+1位字長(zhǎng)表示形式為xs.x1x2

xn,其中xs為符號(hào)位。那么,原碼的定義如下:第20頁(yè),共119頁(yè),2024年2月25日,星期天⑵設(shè)有定點(diǎn)整數(shù)

xnxn-1

x0

,其原碼用n+1位字長(zhǎng)表示形式為xs,xn-1xn-2

x0,其中xs為符號(hào)位。那么,原碼的定義如下:

例2.6已知x,求x的原碼[x]原。①x=+0.1010110②x=-0.1010110③x=+1010110④x=+1010110

解:根據(jù)原碼的定義,可得①[x]原=x=0.1010110②[x]原=1-x=1+|x|=1+0.1010110=1.1010110③[x]原=x=01010110

④[x]原=2n-x=2n+|x|=10000000+01010110=11010110第21頁(yè),共119頁(yè),2024年2月25日,星期天

由例2.6的結(jié)果可知:

(1)[x]原的表示形式x0.x1x2

xn為符號(hào)位加上x的絕對(duì)值。

當(dāng)x≥0時(shí),符號(hào)位x0=0;當(dāng)x≤0時(shí),符號(hào)位x0=1。

(2)當(dāng)x為純小數(shù)時(shí),[X]原中的小數(shù)點(diǎn)默認(rèn)在符號(hào)位x0和數(shù)值最高位x1之間;

當(dāng)x≥0時(shí),[x]原=x;

當(dāng)x≤0時(shí),

[x]原=l+|x|,即符號(hào)位加上x的小數(shù)部分的絕對(duì)值。

當(dāng)x為純整數(shù)時(shí),[x]原中的小數(shù)點(diǎn)默認(rèn)在數(shù)值最低位xn之后;當(dāng)x≥0時(shí),[x]原=x;

當(dāng)x≤0時(shí),[x]原=2n-x=2n+|x|,其中2n是符號(hào)位的權(quán)值,2n+|x|相當(dāng)于使符號(hào)為l。

(3)將[x]原的符號(hào)取反,即可得到[-x]原。

2.原碼中0的表示

純小數(shù)+0和-0的原碼表示:

[+0]原=0.00…0[-0]原=1.00…0第22頁(yè),共119頁(yè),2024年2月25日,星期天

純整數(shù)+0和-0的原碼表示:

[+0]原=000…0[-0]原=100…0

3.原碼的左移和右移對(duì)于二進(jìn)制純小數(shù)x=0.x1x2

xn

求2x時(shí),只需將0.x1x2

xn依次左移一位,最低位的空位填0即可,即2x=x1.x2

xn0。當(dāng)然,為了保證x左移后仍然是純小數(shù),0.x1x2

xn中的x1應(yīng)為0,否則2x就會(huì)大于1,而不是純小數(shù)了。只需將x1x2…xn依次右移一位,移出的最高位的空位填0即可

原碼的移位規(guī)則是:符號(hào)位不變,數(shù)值部分左移或右移,移出的空位填0。

例2.7已知[x]原,求[2x]原、[x/2]原。

第23頁(yè),共119頁(yè),2024年2月25日,星期天①[x]原=0.0101001②[x]原=10011010

解:①[2x]原=0.1010010

左移后,符號(hào)位保持不變,最高位移出,最低位填0。

[x/2]原=1.0010100右移后,符號(hào)位保持不變,最高位填0,末尾的1移出。②[2x]原=10110100[x/2]原=10001101

在原碼的左移過(guò)程中,注意不要將高位的有效數(shù)值位移出,否則將會(huì)出錯(cuò)(稱為上溢)。

4.原碼的特點(diǎn)

(1)原碼表示直觀、易懂,與真值的轉(zhuǎn)換容易。

(2)原碼表示中0有兩種不同的表示形式,給使用帶來(lái)了不便。

(3)原碼表示法的缺點(diǎn):原碼表示的加減運(yùn)算復(fù)雜。

第24頁(yè),共119頁(yè),2024年2月25日,星期天2.2.3補(bǔ)碼表示補(bǔ)碼表示法也稱“符號(hào)-2”表示法。也就是補(bǔ)碼表示的機(jī)器數(shù)由符號(hào)后跟上真值的模2補(bǔ)碼構(gòu)成。

⒈模運(yùn)算①剩下的低n位不能正確反映運(yùn)算結(jié)果,也即舍棄的高位是運(yùn)算的一部分,意味著計(jì)算結(jié)果超出了計(jì)算機(jī)所能表示的范圍,我們稱之為“溢出”。②剩下的n位數(shù)能正確表示運(yùn)算結(jié)果,也即舍棄的高位是并不影響運(yùn)算結(jié)果。

對(duì)于一個(gè)多于n位的數(shù)丟棄高位而保留低n位數(shù)的過(guò)程,實(shí)際上是等價(jià)于將這個(gè)多于n位的數(shù)去除以2,然后丟去商保留余數(shù),這種操作運(yùn)算就是模運(yùn)算。

在模運(yùn)算中,若A,B,M滿足下列關(guān)系:A=B+K

M(K為整數(shù))

則記為A≡B(modM)

上式表示A和B分別除以M后所得余數(shù)相同。稱B和A關(guān)于模M同余。也就是說(shuō),一個(gè)數(shù)與除以一個(gè)模M后所得的余數(shù)是等價(jià)的。第25頁(yè),共119頁(yè),2024年2月25日,星期天

例:時(shí)鐘系統(tǒng)的模數(shù)是12。設(shè)現(xiàn)在時(shí)間是6點(diǎn),而表停在10點(diǎn)上,則有兩種校正方法:①10-4=6②10+8=18=10+(12-4)≡6

(mod12)

所以在模12系統(tǒng)中:10-4≡10+8

(mod12),即

-4≡8

(mod12)

稱8是-4對(duì)模12的補(bǔ)碼。同理稱9是-3對(duì)模12的補(bǔ)碼。…

由上例可得如下結(jié)論:對(duì)于一個(gè)確定的模,某數(shù)減去小于模的一個(gè)數(shù),總可以用該數(shù)加上模與減數(shù)的絕對(duì)值之差來(lái)代替,即用該數(shù)加上另一數(shù)對(duì)于模的補(bǔ)碼來(lái)代替。對(duì)于任意x,在模M的條件下的補(bǔ)數(shù)[x]補(bǔ),可由式(2-4)給出:

[x]補(bǔ)=m+x(modM)(2-4)

例時(shí)鐘系統(tǒng)

10-4≡10+(12-4)≡10+8≡6

(mod12)

第26頁(yè),共119頁(yè),2024年2月25日,星期天

例4位十進(jìn)制計(jì)數(shù)器

9828-1928≡9828+(104-1928)≡9828+8072

≡7900

(mod104)

根據(jù)式(2-4)可知:

(1)當(dāng)x≥0時(shí),m+x大于M,把M丟掉,得[x]補(bǔ)=x,即正數(shù)的補(bǔ)數(shù)等于其本身。

(2)當(dāng)x<0時(shí),[x]補(bǔ)=m+x=M-|x|,即負(fù)數(shù)的補(bǔ)數(shù)等于模與該數(shù)絕對(duì)值之差。

例2.8求模M=2時(shí),二進(jìn)制數(shù)x的補(bǔ)數(shù)。

①x=+0.10110101②x=-0.10110101

解:

①因?yàn)閤≥0,把模2丟掉,所以[x]補(bǔ)=2+x=0.10110101(mod2)②因?yàn)閤<0,所以[x]補(bǔ)=2+x=2-|x|=10.00000000-0.10110101=1.01001011(mod2)

2.補(bǔ)碼的定義

設(shè)補(bǔ)碼的位數(shù)為n+1位(其中符號(hào)占1位),數(shù)值部分為n位。則補(bǔ)碼定義如下:第27頁(yè),共119頁(yè),2024年2月25日,星期天

①設(shè)有定點(diǎn)小數(shù)

0.x1x2

xn

,其補(bǔ)碼用n+1位字長(zhǎng)表示形式為xs.x1x2

xn

,其中xs為符號(hào)位。那么,其補(bǔ)碼的定義如下:

②設(shè)有定點(diǎn)整數(shù)

xnxn-1

x0

,其原碼用n+1位字長(zhǎng)表示形式為xs,xn-1xn-2

x0,其中xs為符號(hào)位。那么,補(bǔ)碼的定義如下:

例2.9已知x,求x的補(bǔ)碼[x]補(bǔ)

①x=+0.1010110②x=-0.1010110③x=+1010110④x=-1010110

解:根據(jù)補(bǔ)碼的定義,可得

①[x]補(bǔ)=x=0.1010110②[x]補(bǔ)=2+x=10.0000000+(-0.1010110

)=1.0101010

③[x]補(bǔ)=x=01010110④[x]補(bǔ)=27+x=10000000+(-1010110

)=1010101049第28頁(yè),共119頁(yè),2024年2月25日,星期天

3.特殊數(shù)的補(bǔ)碼表示

(1)真值0的補(bǔ)碼表示

根據(jù)補(bǔ)碼的定義可知,真值0的補(bǔ)碼表示是惟一的,即:

[+0]補(bǔ)=[-0]補(bǔ)=2±0.00….0=0.00…0(純小數(shù))[+0]補(bǔ)=[-0]補(bǔ)=2n+1±000…0=000…0(純整數(shù))(2)-1和-2n的補(bǔ)碼表示在純小數(shù)補(bǔ)碼表示中,[-1]補(bǔ)=2+(-1.00….0)=1.00…0在純整數(shù)補(bǔ)碼表示中,[-2n]補(bǔ)=100….0

+(-100….0)=100…0

n+1個(gè)0n個(gè)0n個(gè)0

4.補(bǔ)碼的簡(jiǎn)便求法給定一個(gè)二進(jìn)制數(shù)x,如果需要求其補(bǔ)碼,可以直接根據(jù)定義求得。但當(dāng)x<0時(shí),根據(jù)定義需要做減法運(yùn)算,不太方便,因此可采用以下簡(jiǎn)便方法:

(1)若x≥0,則[x]補(bǔ)=x,并使符號(hào)位為0。

(2)若x<0,符號(hào)固定為1,數(shù)值部分的各位取反,末位加1。即得[x]補(bǔ)第29頁(yè),共119頁(yè),2024年2月25日,星期天

例2.10證明補(bǔ)碼的簡(jiǎn)便求法。

證:設(shè)x為純小數(shù),根據(jù)式(2-5)的定義,有當(dāng)x=+0.x1x2

xn

時(shí),[x]補(bǔ)=0.x1x2

xn

,這時(shí)符號(hào)位x0=0,表示x≥0;當(dāng)=-0.x1x2

xn時(shí),[x]補(bǔ)=2+x=2-0.x1x2

xn=1.11…1+0.00…1-0.x1x2

xn=1.11…1-0.x1x2

xn+0.00…1所以當(dāng)x<0時(shí),將x的各位取反,再在最低位上加1,即可求得x的補(bǔ)碼[x]補(bǔ)。

還有一種簡(jiǎn)單的方法求負(fù)數(shù)x的補(bǔ)碼:

x<0,符號(hào)位固定為1,從右往左查其原碼,遇到第1個(gè)時(shí),其右各位0和該位1照寫,該位1之左各位取反即可。

例2.11用簡(jiǎn)便方法求出例2.9中x的補(bǔ)碼。

①x=+0.1010110,∵x≥0,∴[x]補(bǔ)=0.1010110②x=-0.1010110,∵x<0,∴[x]補(bǔ)=1.0101010

③x=+1010110,∵x≥0,∴[x]補(bǔ)=01010110④x=-1010110,∵x<0,∴[x]補(bǔ)=10101010

第30頁(yè),共119頁(yè),2024年2月25日,星期天

例已知[x]補(bǔ)=10100110,求x。

解:∵

x0=1,表明x<0,可用下面兩種方法求x真值。

①將x的各位取反,再在最低位上加1,即可求得

[x]補(bǔ)的真值xx=-(1011001+1)=-1011010

②符號(hào)位為1,則真值符號(hào)取“-”,數(shù)值位從右往左遇到第1個(gè)時(shí),其右各位0和該位1照寫,該位1之左各位取反即可。x=-1011010表2-1n=3位時(shí)所有整數(shù)的補(bǔ)碼真值補(bǔ)碼真值補(bǔ)碼+111(+7)0111-001(-1)1111+110(+6)0110-010(-2)1110+101(+5)0101-011(-3)1101+100(+4)0100-100(-4)1100+011(+3)0011-101(-5)1011+010(+2)0010-110(-6)1010+001(+1)0001-111(-7)1001+000(+0)0000-1000(-8)1000第31頁(yè),共119頁(yè),2024年2月25日,星期天圖2-1補(bǔ)碼的幾何性質(zhì)

補(bǔ)碼的幾何性質(zhì)說(shuō)明了以下兩點(diǎn):

(1)正數(shù)的補(bǔ)碼表示就是其本身,負(fù)數(shù)的補(bǔ)碼表示的實(shí)質(zhì)是把負(fù)數(shù)映像到正值區(qū)域,因此加上一個(gè)負(fù)數(shù)或減去一個(gè)正數(shù)可以用加上另一個(gè)數(shù)(負(fù)數(shù)或減數(shù)對(duì)應(yīng)的補(bǔ)碼)來(lái)代替。(2)從補(bǔ)碼表示的符號(hào)看,補(bǔ)碼中符號(hào)位的值代表了數(shù)的正確符號(hào),0表示正數(shù),1表示負(fù)數(shù);而從映像值來(lái)看,符號(hào)位的值是映像值的一個(gè)數(shù)位,因此在補(bǔ)碼運(yùn)算中,符號(hào)位可以與數(shù)值位一起參加運(yùn)算。第32頁(yè),共119頁(yè),2024年2月25日,星期天

6.補(bǔ)碼的幾個(gè)關(guān)系⑴補(bǔ)碼與原碼的轉(zhuǎn)換關(guān)系①若x≥0,則[x]原=[x]補(bǔ)。②若x<0,則將[x]原除符號(hào)位以外的各位取反后(即符號(hào)位不變),再在最低位上加1,即可得到[x]補(bǔ);反之,將[x]補(bǔ)除符號(hào)位以外的各位取反后,再在最低位上加1,即可得到[x]原。

例2.12將下列x的原碼表示轉(zhuǎn)換為補(bǔ)碼表示。①[x]原=0.1010110②[x]原=1.1010110③[x]原=01010110④[x]原=11010110

解:根據(jù)原碼與補(bǔ)碼的轉(zhuǎn)換原則,得

①[x]原=0.1010110,∵x≥0∴[x]補(bǔ)=0.1010110

②[x]原=1.1010110,∵x<0∴[x]補(bǔ)=1.0101010③[x]原=01010110,∵x≥0∴[x]補(bǔ)=01010110④[x]原=11010110

,∵x<0∴[x]補(bǔ)=10101010

例2.13將下列x的補(bǔ)碼表示轉(zhuǎn)換為原碼表示,并求出對(duì)應(yīng)的真值。①[x]補(bǔ)=1.10110②[x]補(bǔ)=1.11101第33頁(yè),共119頁(yè),2024年2月25日,星期天

解:①∵[x]補(bǔ)=1.10110∴[x]原=1.01010,x=-0.01010②∵[x]補(bǔ)=1.11101∴[x]原=1.00011,x=-0.00011⑵補(bǔ)碼與機(jī)器負(fù)數(shù)的關(guān)系

由[x]補(bǔ)求[-x]補(bǔ)規(guī)則是:連符號(hào)位一起取反,末位加1。證明如下:設(shè)[x]補(bǔ)=1.0100110,求[-x]補(bǔ)

[x]原=1.1011010

x

=-0.1011010

則-x

=+0.1011010

所以[-x]補(bǔ)=0.1011010

例2.14已知[x]補(bǔ),求[-x]補(bǔ)。①[x]補(bǔ)=01001101②[x]補(bǔ)=10110010。解:根據(jù)對(duì)[X]補(bǔ)求補(bǔ)的規(guī)則,得①∵[x]補(bǔ)=01001101,∴[-x]補(bǔ)=10110011②∵[x]補(bǔ)=10110010,∴[-x]補(bǔ)=01001110第34頁(yè),共119頁(yè),2024年2月25日,星期天⑶補(bǔ)碼的左移和右移例:由[x]補(bǔ)求[x/2]補(bǔ)。設(shè)[x]補(bǔ)=x0.x1x2

xn

當(dāng)x0=0時(shí),即x值為正,[x]補(bǔ)=0.x1x2

xn=

即x=1.x1x2

xn-2=-1+0.x1x2

xn=-1+

故x=-x0+

當(dāng)x0=1時(shí),即x值為負(fù),[x]補(bǔ)=1.x1x2

xn=2+x

寫成補(bǔ)碼形式,即得:

[x/2]補(bǔ)=x0.x0x1x2

xn第35頁(yè),共119頁(yè),2024年2月25日,星期天

由此可見(jiàn),[x/2]補(bǔ)是[x]補(bǔ)連同符號(hào)一起右移1位,依此類推求[2-ix]補(bǔ),則[x]補(bǔ)連同符號(hào)一起右移i位即可。

根據(jù)二進(jìn)制數(shù)的移位規(guī)則和補(bǔ)碼的定義,可知補(bǔ)碼的移位規(guī)則:

①補(bǔ)碼的左移:符號(hào)位不變,數(shù)值部分左移,最低位移出的空位填0。

②補(bǔ)碼的右移:符號(hào)位不變,數(shù)值部分右移,最高位移出的空位填補(bǔ)與符號(hào)位相同的代碼。

例2.15已知[x]補(bǔ),求[2x]補(bǔ),[x/2]補(bǔ)

①[x]補(bǔ)=0.0101001

②[x]補(bǔ)=11011010

解:①∵[x]補(bǔ)=0.0101001,∴[2x]補(bǔ)=0.1010010

左移后,符號(hào)位保持不變,數(shù)值最高位移出,最低位填0。

[x/2]補(bǔ)=0.0010100

右移后,符號(hào)位保持不變,數(shù)值最高位填與符號(hào)位相同的0,末尾的1移出。第36頁(yè),共119頁(yè),2024年2月25日,星期天②∵[x]補(bǔ)=1

1011010,

∴[2x]補(bǔ)=10110100

左移后,符號(hào)位保持不變,數(shù)值最高位移出,最低位填0。

[x/2]補(bǔ)=11101101

右移后,符號(hào)位保持不變,數(shù)值最高位填與符號(hào)位相同的1,末尾的0移出?!钤O(shè)[X]補(bǔ)=1.0100110,則

[X/2]補(bǔ)=1.1010011,[X/4]補(bǔ)=1.1101001,…。

7.補(bǔ)碼的特點(diǎn)

(1)在補(bǔ)碼表示中,用符號(hào)位x0表示數(shù)值的正負(fù),形式與原碼表示相同,即0為正;l為負(fù)。但補(bǔ)碼的符號(hào)可以看做是數(shù)值的一部分參加運(yùn)算。

(2)在補(bǔ)碼表示中,數(shù)值0只有一種表示方法,即00…0。

(3)負(fù)數(shù)補(bǔ)碼的表示范圍比負(fù)數(shù)原碼的表示范圍略寬。純小數(shù)的補(bǔ)碼可以表示到-l,純整數(shù)的補(bǔ)碼可以表示到-2n。第37頁(yè),共119頁(yè),2024年2月25日,星期天2.2.4反碼表示反碼表示也是一種機(jī)器數(shù),它實(shí)質(zhì)上是一種特殊的補(bǔ)碼,其特殊之處在于反碼的模比補(bǔ)碼的模小一個(gè)最低位上的1。

1.反碼的定義根據(jù)補(bǔ)碼的定義可以推出反碼的定義如式(2-7)和式(2-8)所示。

①設(shè)有定點(diǎn)小數(shù)

0.x1x2

xn

,其反碼用n+1位字長(zhǎng)表示形式為x0.x1x2

xn

,其中x0為符號(hào)位。那么,其反碼的定義如下:

②設(shè)有定點(diǎn)整數(shù)

xnxn-1

x0

,其反碼用n+1位字長(zhǎng)表示形式為xn,xn-1xn-2

x0,其中xn為符號(hào)位。那么,反碼的定義如下:其中,n為數(shù)值位的長(zhǎng)度。第38頁(yè),共119頁(yè),2024年2月25日,星期天

根據(jù)反碼的定義可得反碼表示的求法:

(1)若x≥0,則使符號(hào)位為0,數(shù)值部分與x相同,即可得到[x]反。

(2)若x≤0,則使符號(hào)位為1,x的數(shù)值部分各位取反,即可得到[x]反。

例2.16已知x

,求[x]反。①x=+0.0101001②x=+1011010③x=-0.0101001④x=-1011010

解:根據(jù)反碼的定義,可得

①[x]反=0.0101001②[x]反=01011010

③[x]反=1.1010110④[x]反=10100101

設(shè)[x]反=x0.x1x2

xn,根據(jù)反碼表示和原碼表示的特點(diǎn),可以得到反碼與原碼的關(guān)系:

(1)若x≥0,即x0=0,則[x]反=[x]原=

x0.x1x2

xn

。(2)若x≤0,即x0=1,則[x]反=

,即保持[x]原的符號(hào)不變,將[x]原的其他位取反,就可得到[x]反。第39頁(yè),共119頁(yè),2024年2月25日,星期天

例2.17已知[x]原和[x]補(bǔ),求[x]反。①[x]原=0.0101001②[x]原=11011010③[x]補(bǔ)=0.0101001④[x]補(bǔ)=11011010

解:

①∵[x]原=0.0101001,∴x>0,[x]反=[x]原=0.0101001②∵[x]原=11011010,∴x<0,保持[x]原的符號(hào)不變,將[x]原的其他位取反,得[x]反=10100101

③∵[x]補(bǔ)=0.0101001,∴x>0,[x]反=[x]原=[x]補(bǔ)=0.0101001④∵[x]補(bǔ)=11011010,∴x<0,根據(jù)[x]原與[x]補(bǔ)的關(guān)系,得[x]原=

10100110,再根據(jù)[x]反與[x]原的關(guān)系,得[x]反=11011001。

2.反碼的特點(diǎn)

(1)在反碼表示中,用符號(hào)位x0表示數(shù)值的正負(fù),形式與原碼表示相同,即0為正;1為負(fù)。

(2)在反碼表示中,數(shù)值0有兩種表示方法:第40頁(yè),共119頁(yè),2024年2月25日,星期天

純小數(shù)的+0和-0的反碼表示:

[+0]反=0.00…0[-0]反=1.11…1

純整數(shù)的+0和-0的反碼表示:

[+0]反=000…0[-0]反=111…1(3)反碼的表示范圍與原碼的表示范圍相同。注意,純小數(shù)的反碼不能表示-1,純整數(shù)的反碼不能表示-2n。

(4)反碼表示在計(jì)算機(jī)中往往作為數(shù)碼變換的中間環(huán)節(jié)?!钭ⅲ孩欧创a又稱基數(shù)減1補(bǔ)碼。即一個(gè)數(shù)的反碼的各位數(shù)字由基數(shù)R減去1后再減去該數(shù)的對(duì)應(yīng)位而成。

從定義看,反碼也就是以(Rn

-R-m)為模的補(bǔ)碼。m為小數(shù)部分位數(shù)。若R=2,則對(duì)于n位定點(diǎn)整數(shù)(即m=0),此時(shí)模為2n-1。對(duì)于m位定點(diǎn)小數(shù)(即n=1),此時(shí)模為2-2-m。二進(jìn)制數(shù)1010的反碼=(24-1)-1010=1111-1010=0101。它又稱為1-補(bǔ)碼(1的補(bǔ)碼)。對(duì)于十進(jìn)制系統(tǒng)的3725反碼=(104-1)-3725=9999-3725=6274。又稱9的補(bǔ)碼。第41頁(yè),共119頁(yè),2024年2月25日,星期天⑵反碼運(yùn)算是以(Rn

-R-m)為模的條件下進(jìn)行的。所以Rn-R-m≡0(modRn

-R-m)

Rn

≡R-m(modRn

-R-m)

這意味著若運(yùn)算中產(chǎn)生了Rn(即最高進(jìn)位),就必須把它加到末位上去,這叫“循環(huán)進(jìn)位”。例:用反碼運(yùn)算來(lái)計(jì)算9828.45-1928.45

9828.45-1928.45=9828.45+(104-102-1928.45)=9828.45+(9999.99-1928.45)=9828.45+8071.549828.45

+8071.5417899.99

17900.00第42頁(yè),共119頁(yè),2024年2月25日,星期天★★三種碼制的比較主要區(qū)別如下:⑴對(duì)于正數(shù),三種碼制均等于真值本身,正號(hào)用0表示。而負(fù)數(shù)各有不同的表示。⑵最高位均表示符號(hào),補(bǔ)、反碼的符號(hào)位可看作數(shù)值一部分,各數(shù)值一起參與運(yùn)算;原碼符號(hào)位則和數(shù)值部分別對(duì)待,不能參與運(yùn)算。⑶對(duì)于真值0,原、反碼各有兩種表示形式,補(bǔ)碼的0的表示是唯一的。⑷原、反碼表示的正負(fù)數(shù)范圍相對(duì)于0而言是對(duì)稱的,對(duì)于n+1位的二進(jìn)制數(shù)來(lái)說(shuō),原碼和反碼表示的范圍是:定點(diǎn)整數(shù)

(2n-1)

定點(diǎn)小數(shù)

(1-2-n)

補(bǔ)碼表示正負(fù)數(shù)范圍相對(duì)于0是不對(duì)稱的,其負(fù)數(shù)表示范圍比正數(shù)表示范圍寬,能多表示一個(gè)最小的負(fù)數(shù)(即絕對(duì)值最大的負(fù)數(shù))。定點(diǎn)整數(shù)-2n~(2n-1)

定點(diǎn)小數(shù)-1~1-2-n

定點(diǎn)整數(shù)是其最小值等于-2n,定點(diǎn)小數(shù)的最小的數(shù)為-1。第43頁(yè),共119頁(yè),2024年2月25日,星期天⑸各種編碼采用不同的方法進(jìn)行移位處理。對(duì)于帶符號(hào)的定點(diǎn)數(shù),應(yīng)采用算術(shù)移位方法(即對(duì)數(shù)值部分進(jìn)行移位,符號(hào)位不動(dòng))。

各種編碼的數(shù)值部分的移位規(guī)則如下:

①原碼左移:高位移出,末位補(bǔ)0。若移出非0時(shí),發(fā)生溢出。右移:低位移出,高位補(bǔ)0。移出時(shí)要進(jìn)行四舍五入。

②補(bǔ)碼左移:高位移出,末位補(bǔ)0。若移出位與符號(hào)位不同時(shí),發(fā)生溢出。右移:低位移出,高位用符號(hào)補(bǔ)足。移出時(shí)要進(jìn)行四舍五入。

③反碼左移:高位移出,末位補(bǔ)符。若移出位與符號(hào)位不同時(shí),發(fā)生溢出。右移:低位移出,高位補(bǔ)符。移出時(shí)要進(jìn)行四舍五入。

例已知[X]補(bǔ)=1.0100110,假定補(bǔ)碼為8位,求[x/2]補(bǔ),[x/4],[2x]補(bǔ)。第44頁(yè),共119頁(yè),2024年2月25日,星期天[x/2]補(bǔ)=1.10100110=1.1010011[x/4]補(bǔ)=1.11010011=1.1101010(四舍五入)

[2x]補(bǔ)=1.1001100移出的最高位為0與符號(hào)位1不同,故產(chǎn)生溢出。

⑹不同的編碼在擴(kuò)展時(shí)采用不同的方法進(jìn)行填充處理。對(duì)于定點(diǎn)小數(shù)的擴(kuò)展,是在低位進(jìn)行填充處理;定點(diǎn)整數(shù)的擴(kuò)展,是在高位進(jìn)行填充處理。①原碼定點(diǎn)小數(shù):在原數(shù)的末位補(bǔ)足0。定點(diǎn)整數(shù):符號(hào)不變,在原數(shù)符號(hào)位后補(bǔ)足0。

②補(bǔ)碼定點(diǎn)小數(shù):在原數(shù)的末位補(bǔ)足0。定點(diǎn)整數(shù):符號(hào)不變,在原數(shù)符號(hào)位后用數(shù)符補(bǔ)足所需的位數(shù)。2.2.5移碼表示

1.移碼的定義移碼的定義如式(2-9)和式(2-10)所示。第45頁(yè),共119頁(yè),2024年2月25日,星期天

純小數(shù)移碼的定義:

[x]移=1+x

-1≤x<1(2-9)

純整數(shù)移碼的定義:

[x]移=2n+x

-2n≤x<2n(2-10)

下面以,n=3時(shí)純整數(shù)的移碼為例,看一下移碼的幾何性質(zhì)。為[x]移=23+x,如表2-2所示。表2-2n=3位時(shí)所有整數(shù)的補(bǔ)碼真值移碼真值移碼+111(+7)1111-001(-1)0111+110(+6)1110-010(-2)0110+101(+5)1101-011(-3)0101+100(+4)1100-100(-4)0100+011(+3)1011-101(-5)0011+010(+2)1010-110(-6)0010+001(+1)1001-111(-7)0001+000(+0)1000-1000(-8)0000第46頁(yè),共119頁(yè),2024年2月25日,星期天圖2-2移碼的幾何性質(zhì)第47頁(yè),共119頁(yè),2024年2月25日,星期天

2.移碼與補(bǔ)碼的關(guān)系根據(jù)式(2-6)給出的純整數(shù)的補(bǔ)碼定義可知:

(1)當(dāng)0≤x<2n時(shí),[x]補(bǔ)=x,因?yàn)閇x]移=2n+x,所以[x]移=2n+[x]補(bǔ)。

(2)當(dāng)-2n≤x<0時(shí),[x]補(bǔ)=2n+1+x,∵[x]移=2n+x,∴[x]移=2n+[x]補(bǔ)-2n+1

其中,n為數(shù)值部分的長(zhǎng)度。

例2.18已知x,求[x]補(bǔ)和[x]移。①x=+1011010②x=-1011010

解:①∵x>0,∴[x]補(bǔ)=01011010,

[x]移=2n+x=2n+1011010=11011010②∵x<0,∴[x]補(bǔ)=10100110,

[x]移=2n+x=2n+(-1011010)=00100110

3.移碼的特點(diǎn)

(1)設(shè)[x]移=x0.x1x2

xn

,符號(hào)位x0表示真值x的正負(fù)。

x0=1,x為正;x0=0,x為負(fù)。第48頁(yè),共119頁(yè),2024年2月25日,星期天(2)真值0的移碼表示只有一種形式:[+0]移=[-0]移=100…0。

(3)移碼與補(bǔ)碼的表示范圍相同。

純小數(shù)的移碼可以表示到-1,

[-1]移=0.00…0;

純整數(shù)的移碼可以表示到-2n

,n為數(shù)值部分的長(zhǎng)度,

[-2n]移=00…0。

(4)真值大時(shí),對(duì)應(yīng)的移碼也大;真值小時(shí),對(duì)應(yīng)的移碼也小。綜上所述,各種碼制之間的關(guān)系以及轉(zhuǎn)換方法如圖2-3所示。若真值x為正,使符號(hào)位x0=0;若真值為負(fù),x0=1,數(shù)值部分不變,就得到x對(duì)應(yīng)的原碼。

真值x為正數(shù)時(shí),[x]原=[x]反=[x]補(bǔ)。

當(dāng)真值x為負(fù)時(shí),x對(duì)應(yīng)的原碼、補(bǔ)碼、反碼表示各不相同。保持原碼符號(hào)位不變,數(shù)值位各位取反即得反碼;反碼末位加1即得補(bǔ)碼。不論真值x是正數(shù)還是負(fù)數(shù),將其對(duì)應(yīng)的補(bǔ)碼的符號(hào)位取反,數(shù)值位不變,即可得到x對(duì)應(yīng)的移碼。各種碼制之間關(guān)系與轉(zhuǎn)換方法見(jiàn)下圖第49頁(yè),共119頁(yè),2024年2月25日,星期天表2-3相同的機(jī)器數(shù)在不同表示形式中對(duì)應(yīng)的十進(jìn)制真值255+127-0-1-12711111111173+45-82-83-451010110173-55+73+73+7301001001無(wú)符號(hào)數(shù)移碼反碼補(bǔ)碼原碼表示方法機(jī)器數(shù)

例2.19設(shè)某計(jì)算機(jī)的字長(zhǎng)為8位,采用純整數(shù)表示。表2-3中給出了相同的機(jī)器數(shù)在不同表示形式中對(duì)應(yīng)的十進(jìn)制真值。第50頁(yè),共119頁(yè),2024年2月25日,星期天無(wú)符號(hào)數(shù)值的大小01┆127128129┆255真值(十進(jìn)制)真值(十進(jìn)制)[x]補(bǔ)[x]移-128-10000000100000000

0000000-127-011111111000000100000001┇┇┇┇-1-00000001111111110

11111110000000000

0000000100000001000000010

000000110000001┇┇┇┇127011111110

11111111

1111111

真值與補(bǔ)碼、移碼和無(wú)符號(hào)數(shù)對(duì)應(yīng)關(guān)系見(jiàn)下表第51頁(yè),共119頁(yè),2024年2月25日,星期天2.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示例如:

(N)10=123.456=123456

10-3=0.123456

103

。同理,同一個(gè)二進(jìn)制數(shù)也可以表示成不同的形式,例如

(N)2=1101.0011=11010011

2-3=0.11010011

2+3。由此可見(jiàn),任何一個(gè)R進(jìn)制數(shù)N均可以寫成式(2-11)所示的形式:

(N)R=±S×R±e(2-11)

其中,S:尾數(shù),代表數(shù)N的有效數(shù)字;

R:基值,由計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)人員約定,不同的機(jī)器,R的取值不同。計(jì)算機(jī)中常用的R的取值為2、4、8、16;

e:階碼,代表數(shù)N的小數(shù)點(diǎn)的實(shí)際位置。根據(jù)小數(shù)點(diǎn)的位置是否固定,計(jì)算機(jī)采用兩種不同的數(shù)據(jù)格式,即定點(diǎn)表示和浮點(diǎn)。2.3.1定點(diǎn)表示

⑴定點(diǎn)小數(shù)

假想小數(shù)點(diǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論