




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
計算機組成原理
數(shù)值型數(shù)據(jù):可用來表示數(shù)量的多少,可比較其大小,具有特定值的一類數(shù)據(jù)。
非數(shù)值型數(shù)據(jù):主要指字符數(shù)據(jù)、邏輯數(shù)據(jù)等。在一些專用處理器上指令集可對多媒體信息進行處理,此時圖形、聲音和活動圖象數(shù)據(jù)看成非數(shù)值型數(shù)據(jù)。
信息:根據(jù)ISO定義,可以通俗認(rèn)為,信息是對人有用的數(shù)據(jù),這些數(shù)據(jù)可能影響到人們的行為和決策。
計算機信息處理,簡言之由計算機進行數(shù)據(jù)處理,處理主要目標(biāo)是獲取有用信息。即通過數(shù)據(jù)采集和輸入、有效地把數(shù)據(jù)組織到計算機中,由計算機系統(tǒng)對數(shù)據(jù)進行相應(yīng)的處理加工(如存儲、建庫、轉(zhuǎn)換、合并、分類、計算統(tǒng)計、匯總、傳送等操作),最后提供有用的信息給用戶。媒體—承載信息的載體。根據(jù)ITU下屬CCITT的定義,與計算機信息處理有關(guān)的媒體有5種:第2頁,共119頁,2024年2月25日,星期天⑴感覺媒體⑵表示媒體⑶存儲媒體⑷表現(xiàn)媒體:⑸傳輸媒體:通信載體數(shù)字計算機內(nèi)部所處理的所有數(shù)字都是“數(shù)字化編碼”了的數(shù)據(jù),即都是一種表示媒體信息。第3頁,共119頁,2024年2月25日,星期天
“數(shù)字化編碼”過程:指對感覺媒體信息進行定時采樣,將現(xiàn)實世界中的連續(xù)信息轉(zhuǎn)換成計算機中的離散的“樣本”信息。然后對這些離散的“樣本”信息用“0”或“1”這兩個基本符號進行數(shù)字化編碼,即對樣本值進行二進制編碼。
編碼:就是用少量簡單的基本符號,對大量復(fù)雜多樣的信息進行一定規(guī)律的組合。
基本符號和組合規(guī)則是一切信息編碼的兩大要素。
計算機內(nèi)部采用二進制表示的原因有以下三個原因:⑴二進制只有兩種基本狀態(tài),與兩個穩(wěn)定狀態(tài)的物理器件的狀況相符,易實現(xiàn)。⑵二進制的編碼、計數(shù)和運算規(guī)則簡單易行。⑶“0”和“1”兩個符號正好與邏輯命題的兩個邏輯值“假”和“真”相對應(yīng),為計算機應(yīng)用于邏輯判斷提供了方便。
計算機內(nèi)部處理的對象分為兩大類:數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)。數(shù)值數(shù)據(jù)的編碼表示
輸入到計算機內(nèi)部的數(shù)據(jù)若有確定的值,即在數(shù)軸上能找到其對應(yīng)的點,則稱為數(shù)值數(shù)據(jù)。第4頁,共119頁,2024年2月25日,星期天
計算機內(nèi)部的數(shù)值數(shù)據(jù)的表示方法有兩大類:直接用二進制數(shù)表示或采用二進制編碼的十進制(BCD碼—BinaryCodedDecimalNumber)表示。2.1進位計數(shù)制與數(shù)制之間的轉(zhuǎn)換
進位計數(shù)制—用少量的符號(也稱數(shù)碼),按先后次序把它們排列成序列,由低到高進行計數(shù),計滿進位。
基數(shù)—計數(shù)制中所用到的數(shù)字符號個數(shù)。
位權(quán)(權(quán)數(shù))—以基數(shù)為底的指數(shù),指數(shù)的冪是數(shù)位的序號。一般而言,在任一個進位計數(shù)制中,若具有0,1,…,R-1共R個數(shù)字字符,則稱該數(shù)字系統(tǒng)為R進制數(shù)字系統(tǒng),其基數(shù)為R,采用的是“逢R進一”的運算規(guī)則,第i位上的位權(quán)為Ri。其位權(quán)展開式如下:=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頁,共119頁,2024年2月25日,星期天
一般地,一個十進制數(shù)D=dn-1dn-2…d1d0.d-1d-2…
d-m
其對應(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十個數(shù)字符號中任何一個,故基數(shù)為“10”。10i為第i位上的位權(quán)。在十進制數(shù)進行運算時,每位計滿十之后要向高位進一。
例:十進制數(shù)2059.65代表的實際值用位權(quán)展開為V(2059.65)10=2103+0102+5101+9100+610-1+510-2
同理,二進制數(shù)的基數(shù)是2,只有兩個數(shù)字符號“0”和“1”,采用“逢二進一”的規(guī)則。
例:二進制數(shù)(100101.01)2的實際值(100101.01)2=125+024+023+122+021+
020+02-1+12-2
一般地,一個二進制數(shù)B=bn-1
bn-2…b1b0.b-1b-2…
b-m第6頁,共119頁,2024年2月25日,星期天
其對應(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兩個數(shù)字之一。
例2.1計算機系統(tǒng)中常用的進位計數(shù)制有:
二進制數(shù):基數(shù)為2,各位數(shù)字的取值范圍是0~l,計數(shù)規(guī)則是“逢二進一”,后綴為B。如(10100011.1101)2=10100011.1101B。
八進制數(shù):基數(shù)為8,各位數(shù)字的取值范圍是0~7,計數(shù)規(guī)則是“逢八進一”,后綴為O或Q。如(137.67)8=137.67Q。
十進制數(shù):基數(shù)為10,各位數(shù)字的取值范圍是O~9,計數(shù)規(guī)則是“逢十進一”,后綴為D或不用后綴。如(2357.89)10=2357.89或(2357.89)10=2357.89D。
十六進制數(shù):基數(shù)為16,基本符號0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)。計數(shù)規(guī)則是“逢十六進一”,后綴為H,如(A9BF.36E)16=A9BF.36EH。第7頁,共119頁,2024年2月25日,星期天四種進位計數(shù)制之間的關(guān)系見下表。F15171111E14161110D13151101C12141100B11131011A10121010991110018810100077701116660110555010144401003330011222001011100010000000十六進制十進制八進制二進制四種進位計數(shù)制之間對應(yīng)關(guān)系表第8頁,共119頁,2024年2月25日,星期天
在進行不同進制數(shù)的轉(zhuǎn)換時,應(yīng)注意以下幾個方面的問題:
1)不同進制數(shù)的基數(shù)不同,所使用的數(shù)字的取值范圍也不同。
2)將任意進制數(shù)轉(zhuǎn)換為十進制數(shù)的方法是“按權(quán)相加”,即利用按權(quán)展開多項式將系數(shù)xi與位權(quán)值相乘后,將乘積逐項求和。
例(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)將十進制數(shù)轉(zhuǎn)換為任意進制數(shù)時,整數(shù)部分與小數(shù)部分需分別進行轉(zhuǎn)換。整數(shù)部分的轉(zhuǎn)換方法是“除以基取余”,小數(shù)部分的轉(zhuǎn)換方法是“乘以基取整”。第9頁,共119頁,2024年2月25日,星期天
(1)利用除以基取余法將十進制整數(shù)轉(zhuǎn)換為R進制整數(shù)的規(guī)則:①把被轉(zhuǎn)換的十進制整數(shù)除以基數(shù)R,所得余數(shù)即為R進制整數(shù)的最低位數(shù)字。②將前次計算所得到的商再除以基數(shù)R,所得余數(shù)即為R進制整數(shù)的相應(yīng)位數(shù)字。③重復(fù)步驟②,直到商為0為止。
(2)利用乘以基取整法將十進制小數(shù)轉(zhuǎn)換為R進制小數(shù)的規(guī)則:①把被轉(zhuǎn)換的十進制小數(shù)乘以基數(shù)R,所得乘積的整數(shù)部分即為R進制小數(shù)的最高位數(shù)字。②將前次計算所得到的乘積的小數(shù)部分再乘以基數(shù)R,所得新的乘積的整數(shù)部分即為R進制小數(shù)的相應(yīng)位數(shù)字。③重復(fù)步驟②,直到乘積的小數(shù)部分為0或求得所要求的位數(shù)為止。
4)因為23=8,24=16,所以二進制數(shù)與八進制數(shù)、十六進制數(shù)之間的轉(zhuǎn)換可以利用它們之間的對應(yīng)關(guān)系直接進行轉(zhuǎn)換。第10頁,共119頁,2024年2月25日,星期天
(1)將二進制數(shù)轉(zhuǎn)換為八進制數(shù)的方法:①將二進制數(shù)的整數(shù)部分從最低有效位開始,每三位二進制數(shù)對應(yīng)一位八進制數(shù),不足三位,高位補0。②將二進制數(shù)的小數(shù)部分從最高有效位開始,每三位二進制數(shù)對應(yīng)一位八進制數(shù),不足三位,低位補0。
(2)將二進制數(shù)轉(zhuǎn)換為十六進制數(shù)的方法:①將二進制數(shù)的整數(shù)部分從最低有效位開始,每四位二進制數(shù)對應(yīng)一位十六進制數(shù),不足四位,高位補0。②將二進制數(shù)的小數(shù)部分從最高有效位開始,每四位二進制數(shù)對應(yīng)一位十六進制數(shù),不足四位,低位補0。
例2.2將二進制數(shù)110011.101轉(zhuǎn)換為十進制數(shù)。
解:利用按權(quán)展開多項式,采用“按權(quá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頁,共119頁,2024年2月25日,星期天8104……………0
例2.3將(10101.0110101)2轉(zhuǎn)換為八進制數(shù)和十六進制數(shù)。
解:①根據(jù)二進制數(shù)轉(zhuǎn)換為八進制數(shù)的方法可得
(10101.0110101)2=(010101.011010100)2=(25.324)8
②根據(jù)二進制數(shù)轉(zhuǎn)換為十六進制數(shù)的方法可得
(10101.0110101)2=(00010101.01101010)2=(15.6A)8
例2.4①將十進制數(shù)834轉(zhuǎn)換成八進制數(shù)余數(shù)低位8834……………281……………1813……………50高位
所以(834)10=(1502)8
②將十進制數(shù)834轉(zhuǎn)換成二進制數(shù)第12頁,共119頁,2024年2月25日,星期天0高位2834
………………02417
………………12208
………………02104
………………0252………………0226………………0213………………026………………023………………121………………1
所以,所以(835)10=(1101000010)2余數(shù)低位第13頁,共119頁,2024年2月25日,星期天
1
………1.50
2
0
………0.75
2
1………
1.375
2
例①將(0.6875)10轉(zhuǎn)換為二進制數(shù)。高位整數(shù)位0.6875
2
1
………1.0
低位故(0.6875)10=(0.1011)2第14頁,共119頁,2024年2月25日,星期天
②將(0.6875)10轉(zhuǎn)換為八進制數(shù)。
高位
整數(shù)位
低位
故(0.6875)10=(0.54)8
注意:由于計算機的位數(shù)限制,或者被轉(zhuǎn)換的十進制實數(shù)不一定表達成
2-i的形式,其轉(zhuǎn)換的結(jié)果,一般為近似值。
例:將(0.15)10轉(zhuǎn)換為二進制數(shù),設(shè)計算機系統(tǒng)為8位二進制,則小數(shù)為7位,轉(zhuǎn)換過程如下:0.6875
8
5………5.5
8
4………4.0
第15頁,共119頁,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頁,共119頁,2024年2月25日,星期天2.2帶符號數(shù)的表示2.2.1機器數(shù)與真值采用二進制表示形式的連同數(shù)符一起代碼化了的數(shù)據(jù),在計算機中統(tǒng)稱為機器數(shù)或機器碼。
真值-用正、負(fù)符號加絕對值來表示的實際數(shù)值。
機器數(shù)可分為無符號數(shù)和帶符號數(shù)兩種。
無符號數(shù)-是指計算機字長的所有二進制位均表示數(shù)值。
帶符號數(shù)-是指機器數(shù)分為符號和數(shù)值部分,且均用二進制代碼表示。
例2.5設(shè)某機器的字長為8位,無符號整數(shù)在機器中的表示形式為:
70數(shù)據(jù)帶符號整數(shù)在機器中的表示形式為:70S數(shù)據(jù)第17頁,共119頁,2024年2月25日,星期天
分別寫出機器數(shù)10011001作為無符號整數(shù)和帶符號整數(shù)對應(yīng)的真值。
解:10011001作為無符號整數(shù)時,對應(yīng)的真值是(10011001)2=(153)10
10011001作為有符號整數(shù)時,其最高位的數(shù)碼1代表符號“-”,所以與機器數(shù)10011001對應(yīng)的真值是(-0011001)2=(-25)10
綜上所述,可得機器數(shù)的特點為:
(1)數(shù)的符號采用二進制代碼化,0代表“+”,1代表“-”。通常將符號的代碼放在數(shù)據(jù)的最高位。
(2)小數(shù)點本身是隱含的,不占用存儲空間。
(3)每個機器數(shù)數(shù)據(jù)所占的二進制位數(shù)受機器硬件規(guī)模的限制,與機器字長有關(guān)。超過機器字長的數(shù)值要舍去。第18頁,共119頁,2024年2月25日,星期天
例如,如果要將數(shù)x=+0.101100111在字長為8位的機器中表示為一個單字長的數(shù),則只能表示為01011001,最低位的兩個1無法在機器中表示。因為機器數(shù)的長度是由機器硬件規(guī)模規(guī)定的,所以機器數(shù)表示的數(shù)值是不連續(xù)的。
例如8位二進制無符號數(shù)可以表示256個整數(shù):00000000~11111111可表示0~127;
8位二進制帶符號數(shù)中:
00000000~01111111可表示正整數(shù)0~127,
11111111~10000000可表示負(fù)數(shù)-127~0,共256個數(shù),其中00000000表示+0,10000000表示-0。
2.2.2原碼表示
編碼系統(tǒng)
確定一個數(shù)值數(shù)據(jù)的三要素是:進位計數(shù)制、定點/浮點表示和編碼表示。它們分別用來解決數(shù)值數(shù)據(jù)的基本符號、小數(shù)點位置和數(shù)的正負(fù)號。第19頁,共119頁,2024年2月25日,星期天
設(shè)n+1位機器數(shù)X的數(shù)字化編碼后的機器數(shù)X表示為:xnxn-1…x1x0。其中xi為0或1。
機器數(shù)X的第一位xn為數(shù)的符號,它的取值與真值XT有關(guān)。大多數(shù)情況下,取值0表示該數(shù)為正,取值1表示該數(shù)為負(fù)。機器數(shù)X中除了xn之外的后n位:xn-1…x1x0是數(shù)值部分,各位取值與編碼有關(guān),各位取值規(guī)定如下:
⑴當(dāng)XT>0時,xi=xi
(X為定點整數(shù)),或xi=xi-n
(X為定點小數(shù))
⑵當(dāng)XT≤0時,數(shù)值部分各位取值依賴于相應(yīng)的編碼方式,常用的編碼方式有原碼、補碼和反碼三種。
⒈原碼表示法
原碼表示法也稱“數(shù)值-符號”表示法。符號用“0”表示“+”,“1”表示“-”。
⑴設(shè)有定點小數(shù)
0.x1x2
…
xn
,其原碼用n+1位字長表示形式為xs.x1x2
…
xn,其中xs為符號位。那么,原碼的定義如下:第20頁,共119頁,2024年2月25日,星期天⑵設(shè)有定點整數(shù)
xnxn-1
…
x0
,其原碼用n+1位字長表示形式為xs,xn-1xn-2
…
x0,其中xs為符號位。那么,原碼的定義如下:
例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頁,共119頁,2024年2月25日,星期天
由例2.6的結(jié)果可知:
(1)[x]原的表示形式x0.x1x2
…
xn為符號位加上x的絕對值。
當(dāng)x≥0時,符號位x0=0;當(dāng)x≤0時,符號位x0=1。
(2)當(dāng)x為純小數(shù)時,[X]原中的小數(shù)點默認(rèn)在符號位x0和數(shù)值最高位x1之間;
當(dāng)x≥0時,[x]原=x;
當(dāng)x≤0時,
[x]原=l+|x|,即符號位加上x的小數(shù)部分的絕對值。
當(dāng)x為純整數(shù)時,[x]原中的小數(shù)點默認(rèn)在數(shù)值最低位xn之后;當(dāng)x≥0時,[x]原=x;
當(dāng)x≤0時,[x]原=2n-x=2n+|x|,其中2n是符號位的權(quán)值,2n+|x|相當(dāng)于使符號為l。
(3)將[x]原的符號取反,即可得到[-x]原。
2.原碼中0的表示
純小數(shù)+0和-0的原碼表示:
[+0]原=0.00…0[-0]原=1.00…0第22頁,共119頁,2024年2月25日,星期天
純整數(shù)+0和-0的原碼表示:
[+0]原=000…0[-0]原=100…0
3.原碼的左移和右移對于二進制純小數(shù)x=0.x1x2
…
xn
求2x時,只需將0.x1x2
…
xn依次左移一位,最低位的空位填0即可,即2x=x1.x2
…
xn0。當(dāng)然,為了保證x左移后仍然是純小數(shù),0.x1x2
…
xn中的x1應(yīng)為0,否則2x就會大于1,而不是純小數(shù)了。只需將x1x2…xn依次右移一位,移出的最高位的空位填0即可
原碼的移位規(guī)則是:符號位不變,數(shù)值部分左移或右移,移出的空位填0。
例2.7已知[x]原,求[2x]原、[x/2]原。
第23頁,共119頁,2024年2月25日,星期天①[x]原=0.0101001②[x]原=10011010
解:①[2x]原=0.1010010
左移后,符號位保持不變,最高位移出,最低位填0。
[x/2]原=1.0010100右移后,符號位保持不變,最高位填0,末尾的1移出。②[2x]原=10110100[x/2]原=10001101
在原碼的左移過程中,注意不要將高位的有效數(shù)值位移出,否則將會出錯(稱為上溢)。
4.原碼的特點
(1)原碼表示直觀、易懂,與真值的轉(zhuǎn)換容易。
(2)原碼表示中0有兩種不同的表示形式,給使用帶來了不便。
(3)原碼表示法的缺點:原碼表示的加減運算復(fù)雜。
第24頁,共119頁,2024年2月25日,星期天2.2.3補碼表示補碼表示法也稱“符號-2”表示法。也就是補碼表示的機器數(shù)由符號后跟上真值的模2補碼構(gòu)成。
⒈模運算①剩下的低n位不能正確反映運算結(jié)果,也即舍棄的高位是運算的一部分,意味著計算結(jié)果超出了計算機所能表示的范圍,我們稱之為“溢出”。②剩下的n位數(shù)能正確表示運算結(jié)果,也即舍棄的高位是并不影響運算結(jié)果。
對于一個多于n位的數(shù)丟棄高位而保留低n位數(shù)的過程,實際上是等價于將這個多于n位的數(shù)去除以2,然后丟去商保留余數(shù),這種操作運算就是模運算。
在模運算中,若A,B,M滿足下列關(guān)系:A=B+K
M(K為整數(shù))
則記為A≡B(modM)
上式表示A和B分別除以M后所得余數(shù)相同。稱B和A關(guān)于模M同余。也就是說,一個數(shù)與除以一個模M后所得的余數(shù)是等價的。第25頁,共119頁,2024年2月25日,星期天
例:時鐘系統(tǒng)的模數(shù)是12。設(shè)現(xiàn)在時間是6點,而表停在10點上,則有兩種校正方法:①10-4=6②10+8=18=10+(12-4)≡6
(mod12)
所以在模12系統(tǒng)中:10-4≡10+8
(mod12),即
-4≡8
(mod12)
稱8是-4對模12的補碼。同理稱9是-3對模12的補碼?!?/p>
由上例可得如下結(jié)論:對于一個確定的模,某數(shù)減去小于模的一個數(shù),總可以用該數(shù)加上模與減數(shù)的絕對值之差來代替,即用該數(shù)加上另一數(shù)對于模的補碼來代替。對于任意x,在模M的條件下的補數(shù)[x]補,可由式(2-4)給出:
[x]補=m+x(modM)(2-4)
例時鐘系統(tǒng)
10-4≡10+(12-4)≡10+8≡6
(mod12)
第26頁,共119頁,2024年2月25日,星期天
例4位十進制計數(shù)器
9828-1928≡9828+(104-1928)≡9828+8072
≡7900
(mod104)
根據(jù)式(2-4)可知:
(1)當(dāng)x≥0時,m+x大于M,把M丟掉,得[x]補=x,即正數(shù)的補數(shù)等于其本身。
(2)當(dāng)x<0時,[x]補=m+x=M-|x|,即負(fù)數(shù)的補數(shù)等于模與該數(shù)絕對值之差。
例2.8求模M=2時,二進制數(shù)x的補數(shù)。
①x=+0.10110101②x=-0.10110101
解:
①因為x≥0,把模2丟掉,所以[x]補=2+x=0.10110101(mod2)②因為x<0,所以[x]補=2+x=2-|x|=10.00000000-0.10110101=1.01001011(mod2)
2.補碼的定義
設(shè)補碼的位數(shù)為n+1位(其中符號占1位),數(shù)值部分為n位。則補碼定義如下:第27頁,共119頁,2024年2月25日,星期天
①設(shè)有定點小數(shù)
0.x1x2
…
xn
,其補碼用n+1位字長表示形式為xs.x1x2
…
xn
,其中xs為符號位。那么,其補碼的定義如下:
②設(shè)有定點整數(shù)
xnxn-1
…
x0
,其原碼用n+1位字長表示形式為xs,xn-1xn-2
…
x0,其中xs為符號位。那么,補碼的定義如下:
例2.9已知x,求x的補碼[x]補
①x=+0.1010110②x=-0.1010110③x=+1010110④x=-1010110
解:根據(jù)補碼的定義,可得
①[x]補=x=0.1010110②[x]補=2+x=10.0000000+(-0.1010110
)=1.0101010
③[x]補=x=01010110④[x]補=27+x=10000000+(-1010110
)=1010101049第28頁,共119頁,2024年2月25日,星期天
3.特殊數(shù)的補碼表示
(1)真值0的補碼表示
根據(jù)補碼的定義可知,真值0的補碼表示是惟一的,即:
[+0]補=[-0]補=2±0.00….0=0.00…0(純小數(shù))[+0]補=[-0]補=2n+1±000…0=000…0(純整數(shù))(2)-1和-2n的補碼表示在純小數(shù)補碼表示中,[-1]補=2+(-1.00….0)=1.00…0在純整數(shù)補碼表示中,[-2n]補=100….0
+(-100….0)=100…0
n+1個0n個0n個0
4.補碼的簡便求法給定一個二進制數(shù)x,如果需要求其補碼,可以直接根據(jù)定義求得。但當(dāng)x<0時,根據(jù)定義需要做減法運算,不太方便,因此可采用以下簡便方法:
(1)若x≥0,則[x]補=x,并使符號位為0。
(2)若x<0,符號固定為1,數(shù)值部分的各位取反,末位加1。即得[x]補第29頁,共119頁,2024年2月25日,星期天
例2.10證明補碼的簡便求法。
證:設(shè)x為純小數(shù),根據(jù)式(2-5)的定義,有當(dāng)x=+0.x1x2
…
xn
時,[x]補=0.x1x2
…
xn
,這時符號位x0=0,表示x≥0;當(dāng)=-0.x1x2
…
xn時,[x]補=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時,將x的各位取反,再在最低位上加1,即可求得x的補碼[x]補。
還有一種簡單的方法求負(fù)數(shù)x的補碼:
x<0,符號位固定為1,從右往左查其原碼,遇到第1個時,其右各位0和該位1照寫,該位1之左各位取反即可。
例2.11用簡便方法求出例2.9中x的補碼。
①x=+0.1010110,∵x≥0,∴[x]補=0.1010110②x=-0.1010110,∵x<0,∴[x]補=1.0101010
③x=+1010110,∵x≥0,∴[x]補=01010110④x=-1010110,∵x<0,∴[x]補=10101010
第30頁,共119頁,2024年2月25日,星期天
例已知[x]補=10100110,求x。
解:∵
x0=1,表明x<0,可用下面兩種方法求x真值。
①將x的各位取反,再在最低位上加1,即可求得
[x]補的真值xx=-(1011001+1)=-1011010
②符號位為1,則真值符號取“-”,數(shù)值位從右往左遇到第1個時,其右各位0和該位1照寫,該位1之左各位取反即可。x=-1011010表2-1n=3位時所有整數(shù)的補碼真值補碼真值補碼+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頁,共119頁,2024年2月25日,星期天圖2-1補碼的幾何性質(zhì)
補碼的幾何性質(zhì)說明了以下兩點:
(1)正數(shù)的補碼表示就是其本身,負(fù)數(shù)的補碼表示的實質(zhì)是把負(fù)數(shù)映像到正值區(qū)域,因此加上一個負(fù)數(shù)或減去一個正數(shù)可以用加上另一個數(shù)(負(fù)數(shù)或減數(shù)對應(yīng)的補碼)來代替。(2)從補碼表示的符號看,補碼中符號位的值代表了數(shù)的正確符號,0表示正數(shù),1表示負(fù)數(shù);而從映像值來看,符號位的值是映像值的一個數(shù)位,因此在補碼運算中,符號位可以與數(shù)值位一起參加運算。第32頁,共119頁,2024年2月25日,星期天
6.補碼的幾個關(guān)系⑴補碼與原碼的轉(zhuǎn)換關(guān)系①若x≥0,則[x]原=[x]補。②若x<0,則將[x]原除符號位以外的各位取反后(即符號位不變),再在最低位上加1,即可得到[x]補;反之,將[x]補除符號位以外的各位取反后,再在最低位上加1,即可得到[x]原。
例2.12將下列x的原碼表示轉(zhuǎn)換為補碼表示。①[x]原=0.1010110②[x]原=1.1010110③[x]原=01010110④[x]原=11010110
解:根據(jù)原碼與補碼的轉(zhuǎn)換原則,得
①[x]原=0.1010110,∵x≥0∴[x]補=0.1010110
②[x]原=1.1010110,∵x<0∴[x]補=1.0101010③[x]原=01010110,∵x≥0∴[x]補=01010110④[x]原=11010110
,∵x<0∴[x]補=10101010
例2.13將下列x的補碼表示轉(zhuǎn)換為原碼表示,并求出對應(yīng)的真值。①[x]補=1.10110②[x]補=1.11101第33頁,共119頁,2024年2月25日,星期天
解:①∵[x]補=1.10110∴[x]原=1.01010,x=-0.01010②∵[x]補=1.11101∴[x]原=1.00011,x=-0.00011⑵補碼與機器負(fù)數(shù)的關(guān)系
由[x]補求[-x]補規(guī)則是:連符號位一起取反,末位加1。證明如下:設(shè)[x]補=1.0100110,求[-x]補
[x]原=1.1011010
x
=-0.1011010
則-x
=+0.1011010
所以[-x]補=0.1011010
例2.14已知[x]補,求[-x]補。①[x]補=01001101②[x]補=10110010。解:根據(jù)對[X]補求補的規(guī)則,得①∵[x]補=01001101,∴[-x]補=10110011②∵[x]補=10110010,∴[-x]補=01001110第34頁,共119頁,2024年2月25日,星期天⑶補碼的左移和右移例:由[x]補求[x/2]補。設(shè)[x]補=x0.x1x2
…
xn
當(dāng)x0=0時,即x值為正,[x]補=0.x1x2
…
xn=
即x=1.x1x2
…
xn-2=-1+0.x1x2
…
xn=-1+
故x=-x0+
而
當(dāng)x0=1時,即x值為負(fù),[x]補=1.x1x2
…
xn=2+x
寫成補碼形式,即得:
[x/2]補=x0.x0x1x2
…
xn第35頁,共119頁,2024年2月25日,星期天
由此可見,[x/2]補是[x]補連同符號一起右移1位,依此類推求[2-ix]補,則[x]補連同符號一起右移i位即可。
根據(jù)二進制數(shù)的移位規(guī)則和補碼的定義,可知補碼的移位規(guī)則:
①補碼的左移:符號位不變,數(shù)值部分左移,最低位移出的空位填0。
②補碼的右移:符號位不變,數(shù)值部分右移,最高位移出的空位填補與符號位相同的代碼。
例2.15已知[x]補,求[2x]補,[x/2]補
①[x]補=0.0101001
②[x]補=11011010
解:①∵[x]補=0.0101001,∴[2x]補=0.1010010
左移后,符號位保持不變,數(shù)值最高位移出,最低位填0。
[x/2]補=0.0010100
右移后,符號位保持不變,數(shù)值最高位填與符號位相同的0,末尾的1移出。第36頁,共119頁,2024年2月25日,星期天②∵[x]補=1
1011010,
∴[2x]補=10110100
左移后,符號位保持不變,數(shù)值最高位移出,最低位填0。
[x/2]補=11101101
右移后,符號位保持不變,數(shù)值最高位填與符號位相同的1,末尾的0移出?!钤O(shè)[X]補=1.0100110,則
[X/2]補=1.1010011,[X/4]補=1.1101001,…。
7.補碼的特點
(1)在補碼表示中,用符號位x0表示數(shù)值的正負(fù),形式與原碼表示相同,即0為正;l為負(fù)。但補碼的符號可以看做是數(shù)值的一部分參加運算。
(2)在補碼表示中,數(shù)值0只有一種表示方法,即00…0。
(3)負(fù)數(shù)補碼的表示范圍比負(fù)數(shù)原碼的表示范圍略寬。純小數(shù)的補碼可以表示到-l,純整數(shù)的補碼可以表示到-2n。第37頁,共119頁,2024年2月25日,星期天2.2.4反碼表示反碼表示也是一種機器數(shù),它實質(zhì)上是一種特殊的補碼,其特殊之處在于反碼的模比補碼的模小一個最低位上的1。
1.反碼的定義根據(jù)補碼的定義可以推出反碼的定義如式(2-7)和式(2-8)所示。
①設(shè)有定點小數(shù)
0.x1x2
…
xn
,其反碼用n+1位字長表示形式為x0.x1x2
…
xn
,其中x0為符號位。那么,其反碼的定義如下:
②設(shè)有定點整數(shù)
xnxn-1
…
x0
,其反碼用n+1位字長表示形式為xn,xn-1xn-2
…
x0,其中xn為符號位。那么,反碼的定義如下:其中,n為數(shù)值位的長度。第38頁,共119頁,2024年2月25日,星期天
根據(jù)反碼的定義可得反碼表示的求法:
(1)若x≥0,則使符號位為0,數(shù)值部分與x相同,即可得到[x]反。
(2)若x≤0,則使符號位為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ù)反碼表示和原碼表示的特點,可以得到反碼與原碼的關(guān)系:
(1)若x≥0,即x0=0,則[x]反=[x]原=
x0.x1x2
…
xn
。(2)若x≤0,即x0=1,則[x]反=
,即保持[x]原的符號不變,將[x]原的其他位取反,就可得到[x]反。第39頁,共119頁,2024年2月25日,星期天
例2.17已知[x]原和[x]補,求[x]反。①[x]原=0.0101001②[x]原=11011010③[x]補=0.0101001④[x]補=11011010
解:
①∵[x]原=0.0101001,∴x>0,[x]反=[x]原=0.0101001②∵[x]原=11011010,∴x<0,保持[x]原的符號不變,將[x]原的其他位取反,得[x]反=10100101
③∵[x]補=0.0101001,∴x>0,[x]反=[x]原=[x]補=0.0101001④∵[x]補=11011010,∴x<0,根據(jù)[x]原與[x]補的關(guān)系,得[x]原=
10100110,再根據(jù)[x]反與[x]原的關(guān)系,得[x]反=11011001。
2.反碼的特點
(1)在反碼表示中,用符號位x0表示數(shù)值的正負(fù),形式與原碼表示相同,即0為正;1為負(fù)。
(2)在反碼表示中,數(shù)值0有兩種表示方法:第40頁,共119頁,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)反碼表示在計算機中往往作為數(shù)碼變換的中間環(huán)節(jié)?!钭ⅲ孩欧创a又稱基數(shù)減1補碼。即一個數(shù)的反碼的各位數(shù)字由基數(shù)R減去1后再減去該數(shù)的對應(yīng)位而成。
從定義看,反碼也就是以(Rn
-R-m)為模的補碼。m為小數(shù)部分位數(shù)。若R=2,則對于n位定點整數(shù)(即m=0),此時模為2n-1。對于m位定點小數(shù)(即n=1),此時模為2-2-m。二進制數(shù)1010的反碼=(24-1)-1010=1111-1010=0101。它又稱為1-補碼(1的補碼)。對于十進制系統(tǒng)的3725反碼=(104-1)-3725=9999-3725=6274。又稱9的補碼。第41頁,共119頁,2024年2月25日,星期天⑵反碼運算是以(Rn
-R-m)為模的條件下進行的。所以Rn-R-m≡0(modRn
-R-m)
Rn
≡R-m(modRn
-R-m)
這意味著若運算中產(chǎn)生了Rn(即最高進位),就必須把它加到末位上去,這叫“循環(huán)進位”。例:用反碼運算來計算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頁,共119頁,2024年2月25日,星期天★★三種碼制的比較主要區(qū)別如下:⑴對于正數(shù),三種碼制均等于真值本身,正號用0表示。而負(fù)數(shù)各有不同的表示。⑵最高位均表示符號,補、反碼的符號位可看作數(shù)值一部分,各數(shù)值一起參與運算;原碼符號位則和數(shù)值部分別對待,不能參與運算。⑶對于真值0,原、反碼各有兩種表示形式,補碼的0的表示是唯一的。⑷原、反碼表示的正負(fù)數(shù)范圍相對于0而言是對稱的,對于n+1位的二進制數(shù)來說,原碼和反碼表示的范圍是:定點整數(shù)
(2n-1)
定點小數(shù)
(1-2-n)
補碼表示正負(fù)數(shù)范圍相對于0是不對稱的,其負(fù)數(shù)表示范圍比正數(shù)表示范圍寬,能多表示一個最小的負(fù)數(shù)(即絕對值最大的負(fù)數(shù))。定點整數(shù)-2n~(2n-1)
定點小數(shù)-1~1-2-n
定點整數(shù)是其最小值等于-2n,定點小數(shù)的最小的數(shù)為-1。第43頁,共119頁,2024年2月25日,星期天⑸各種編碼采用不同的方法進行移位處理。對于帶符號的定點數(shù),應(yīng)采用算術(shù)移位方法(即對數(shù)值部分進行移位,符號位不動)。
各種編碼的數(shù)值部分的移位規(guī)則如下:
①原碼左移:高位移出,末位補0。若移出非0時,發(fā)生溢出。右移:低位移出,高位補0。移出時要進行四舍五入。
②補碼左移:高位移出,末位補0。若移出位與符號位不同時,發(fā)生溢出。右移:低位移出,高位用符號補足。移出時要進行四舍五入。
③反碼左移:高位移出,末位補符。若移出位與符號位不同時,發(fā)生溢出。右移:低位移出,高位補符。移出時要進行四舍五入。
例已知[X]補=1.0100110,假定補碼為8位,求[x/2]補,[x/4],[2x]補。第44頁,共119頁,2024年2月25日,星期天[x/2]補=1.10100110=1.1010011[x/4]補=1.11010011=1.1101010(四舍五入)
[2x]補=1.1001100移出的最高位為0與符號位1不同,故產(chǎn)生溢出。
⑹不同的編碼在擴展時采用不同的方法進行填充處理。對于定點小數(shù)的擴展,是在低位進行填充處理;定點整數(shù)的擴展,是在高位進行填充處理。①原碼定點小數(shù):在原數(shù)的末位補足0。定點整數(shù):符號不變,在原數(shù)符號位后補足0。
②補碼定點小數(shù):在原數(shù)的末位補足0。定點整數(shù):符號不變,在原數(shù)符號位后用數(shù)符補足所需的位數(shù)。2.2.5移碼表示
1.移碼的定義移碼的定義如式(2-9)和式(2-10)所示。第45頁,共119頁,2024年2月25日,星期天
純小數(shù)移碼的定義:
[x]移=1+x
-1≤x<1(2-9)
純整數(shù)移碼的定義:
[x]移=2n+x
-2n≤x<2n(2-10)
下面以,n=3時純整數(shù)的移碼為例,看一下移碼的幾何性質(zhì)。為[x]移=23+x,如表2-2所示。表2-2n=3位時所有整數(shù)的補碼真值移碼真值移碼+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頁,共119頁,2024年2月25日,星期天圖2-2移碼的幾何性質(zhì)第47頁,共119頁,2024年2月25日,星期天
2.移碼與補碼的關(guān)系根據(jù)式(2-6)給出的純整數(shù)的補碼定義可知:
(1)當(dāng)0≤x<2n時,[x]補=x,因為[x]移=2n+x,所以[x]移=2n+[x]補。
(2)當(dāng)-2n≤x<0時,[x]補=2n+1+x,∵[x]移=2n+x,∴[x]移=2n+[x]補-2n+1
其中,n為數(shù)值部分的長度。
例2.18已知x,求[x]補和[x]移。①x=+1011010②x=-1011010
解:①∵x>0,∴[x]補=01011010,
[x]移=2n+x=2n+1011010=11011010②∵x<0,∴[x]補=10100110,
[x]移=2n+x=2n+(-1011010)=00100110
3.移碼的特點
(1)設(shè)[x]移=x0.x1x2
…
xn
,符號位x0表示真值x的正負(fù)。
x0=1,x為正;x0=0,x為負(fù)。第48頁,共119頁,2024年2月25日,星期天(2)真值0的移碼表示只有一種形式:[+0]移=[-0]移=100…0。
(3)移碼與補碼的表示范圍相同。
純小數(shù)的移碼可以表示到-1,
[-1]移=0.00…0;
純整數(shù)的移碼可以表示到-2n
,n為數(shù)值部分的長度,
[-2n]移=00…0。
(4)真值大時,對應(yīng)的移碼也大;真值小時,對應(yīng)的移碼也小。綜上所述,各種碼制之間的關(guān)系以及轉(zhuǎn)換方法如圖2-3所示。若真值x為正,使符號位x0=0;若真值為負(fù),x0=1,數(shù)值部分不變,就得到x對應(yīng)的原碼。
真值x為正數(shù)時,[x]原=[x]反=[x]補。
當(dāng)真值x為負(fù)時,x對應(yīng)的原碼、補碼、反碼表示各不相同。保持原碼符號位不變,數(shù)值位各位取反即得反碼;反碼末位加1即得補碼。不論真值x是正數(shù)還是負(fù)數(shù),將其對應(yīng)的補碼的符號位取反,數(shù)值位不變,即可得到x對應(yīng)的移碼。各種碼制之間關(guān)系與轉(zhuǎn)換方法見下圖第49頁,共119頁,2024年2月25日,星期天表2-3相同的機器數(shù)在不同表示形式中對應(yīng)的十進制真值255+127-0-1-12711111111173+45-82-83-451010110173-55+73+73+7301001001無符號數(shù)移碼反碼補碼原碼表示方法機器數(shù)
例2.19設(shè)某計算機的字長為8位,采用純整數(shù)表示。表2-3中給出了相同的機器數(shù)在不同表示形式中對應(yīng)的十進制真值。第50頁,共119頁,2024年2月25日,星期天無符號數(shù)值的大小01┆127128129┆255真值(十進制)真值(十進制)[x]補[x]移-128-10000000100000000
0000000-127-011111111000000100000001┇┇┇┇-1-00000001111111110
11111110000000000
0000000100000001000000010
000000110000001┇┇┇┇127011111110
11111111
1111111
真值與補碼、移碼和無符號數(shù)對應(yīng)關(guān)系見下表第51頁,共119頁,2024年2月25日,星期天2.3數(shù)的定點表示與浮點表示例如:
(N)10=123.456=123456
10-3=0.123456
103
。同理,同一個二進制數(shù)也可以表示成不同的形式,例如
(N)2=1101.0011=11010011
2-3=0.11010011
2+3。由此可見,任何一個R進制數(shù)N均可以寫成式(2-11)所示的形式:
(N)R=±S×R±e(2-11)
其中,S:尾數(shù),代表數(shù)N的有效數(shù)字;
R:基值,由計算機系統(tǒng)的設(shè)計人員約定,不同的機器,R的取值不同。計算機中常用的R的取值為2、4、8、16;
e:階碼,代表數(shù)N的小數(shù)點的實際位置。根據(jù)小數(shù)點的位置是否固定,計算機采用兩種不同的數(shù)據(jù)格式,即定點表示和浮點。2.3.1定點表示
⑴定點小數(shù)
假想小數(shù)點
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務(wù)制度合同管理范例
- 公司汽車租賃協(xié)議合同
- 有關(guān)個人和企業(yè)借款合同
- 小區(qū)門口門面租賃合同
- 進口銷售合同
- 金融行業(yè)投資產(chǎn)品風(fēng)險提示合同
- 湖南環(huán)境生物職業(yè)技術(shù)學(xué)院《ntroductontoMarketng》2023-2024學(xué)年第二學(xué)期期末試卷
- 運城師范高等??茖W(xué)?!渡鐣喿x》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海師范大學(xué)天華學(xué)院《展具設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 中山職業(yè)技術(shù)學(xué)院《工程流體學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 人教版小學(xué)四年級下冊《體育與健康》全冊教案
- 法律文書寫作(第五版)PPT完整全套教學(xué)課件
- 半導(dǎo)體制造技術(shù)導(dǎo)論
- 人教版四年級數(shù)學(xué)下冊教材分析精講課件
- 7S目視化管理標(biāo)準(zhǔn)
- 酒店成本管理系統(tǒng)PICC
- 產(chǎn)品手繪設(shè)計表現(xiàn)技法PPT完整全套教學(xué)課件
- GA/T 1988-2022移動警務(wù)即時通信系統(tǒng)功能及互聯(lián)互通技術(shù)要求
- 文科學(xué)術(shù)規(guī)范與學(xué)術(shù)論文寫作課件
- 人教版小學(xué)二年級體育下冊全冊教案
- 農(nóng)業(yè)政策學(xué)PPT完整全套教學(xué)課件
評論
0/150
提交評論