第一章_數(shù)制與碼制_第1頁(yè)
第一章_數(shù)制與碼制_第2頁(yè)
第一章_數(shù)制與碼制_第3頁(yè)
第一章_數(shù)制與碼制_第4頁(yè)
第一章_數(shù)制與碼制_第5頁(yè)
已閱讀5頁(yè),還剩59頁(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)介

1、1.2 帶符號(hào)數(shù)的代碼表示帶符號(hào)數(shù)的代碼表示1.4 編碼編碼 1.1 數(shù)制數(shù)制1.3 數(shù)的定點(diǎn)和浮點(diǎn)表示數(shù)的定點(diǎn)和浮點(diǎn)表示1.1 數(shù)制數(shù)制 多位數(shù)中每一位的構(gòu)成(指用哪些碼)方法以多位數(shù)中每一位的構(gòu)成(指用哪些碼)方法以及從低位到高位的進(jìn)位規(guī)則稱為及從低位到高位的進(jìn)位規(guī)則稱為數(shù)制數(shù)制。 日常生活最常用的是十進(jìn)制、七進(jìn)制(星期)等日常生活最常用的是十進(jìn)制、七進(jìn)制(星期)等。 數(shù)字電路中使用的是二進(jìn)制和十六進(jìn)制數(shù)字電路中使用的是二進(jìn)制和十六進(jìn)制。 十進(jìn)制使用十個(gè)數(shù)碼:十進(jìn)制使用十個(gè)數(shù)碼:0 09 9表示方式表示方式: (N)(N)1010 ,(N)(N)D D計(jì)數(shù)的基數(shù)是計(jì)數(shù)的基數(shù)是1010,進(jìn)位

2、規(guī)則是,進(jìn)位規(guī)則是“逢十進(jìn)一逢十進(jìn)一”例:例:(3456.789)(3456.789)1010位號(hào)位號(hào) 3 2 1 0 -1 -2 -33 2 1 0 -1 -2 -3十進(jìn)制數(shù)十進(jìn)制數(shù)位權(quán)位權(quán) 10103 3 10 102 2 10101 1 10100 0 1010-1 -1 1010-2-2 10 10-3-31010i i 稱為第稱為第i i位的權(quán)位的權(quán)注意:小數(shù)點(diǎn)的前一位為第注意:小數(shù)點(diǎn)的前一位為第0 0位,即位,即i=0i=0 .任意一個(gè)十進(jìn)制數(shù)任意一個(gè)十進(jìn)制數(shù)D D可按可按“權(quán)權(quán)”展開(kāi)為:展開(kāi)為: D=D=k ki iX10X10i i任意一個(gè)十進(jìn)制數(shù)任意一個(gè)十進(jìn)制數(shù)N N可按位計(jì)

3、數(shù)法表示為:可按位計(jì)數(shù)法表示為:(N)(N)1010= =(a(an-1n-1a an-2n-2aa1 1a a0 0.a.a-1-1a a-2-2aa-m-m) )1010任意一個(gè)十進(jìn)制數(shù)任意一個(gè)十進(jìn)制數(shù)N N可按權(quán)展開(kāi)式表示為:可按權(quán)展開(kāi)式表示為:(N)(N)1010= =a an-1n-11010n-1n-1+a+an-2n-21010n-2n-2+a+a1 110101 1+a+a0 010100 0+a+a-1-11010-1-1+a+a-2-21010-2-2+a+a-m-m1010-m-m = =a ai iX10X10i ii=-mi=-mn-1n-12 2、二進(jìn)制、二進(jìn)制 計(jì)

4、數(shù)的基數(shù)是2,進(jìn)位規(guī)則是“逢二進(jìn)一”其中k ki i是第i位的數(shù)碼(0或1)2 2i i 稱為第i i位的權(quán) 如:( (1 10 01 10 0. .1 11 1) )2 2= =1 12 23 3+ +0 02 22 2+ +1 12 21 1+ +0 02 20 0 + +1 12 2-1-1+ +1 12 2-2-2 = =(10.75)10.75)1010下標(biāo)2和10分別代表二進(jìn)制數(shù)和十進(jìn)制數(shù),有時(shí)也用B(Binary)和D(Decimal)代替下標(biāo)2和10 如:1010.11B=10.75D1010.11B=10.75D任意一個(gè)二進(jìn)制數(shù)D可按“權(quán)”展開(kāi)為: D=D=k ki iX2X

5、2i i二進(jìn)制僅使用0 0和1 1兩個(gè)數(shù)碼表示方式表示方式: (N)(N)2 2 ,(N)(N)B B 二進(jìn)制數(shù)的運(yùn)算規(guī)則如下:二進(jìn)制數(shù)的運(yùn)算規(guī)則如下: 加法規(guī)則加法規(guī)則 0+0=0 0+1=1 0+0=0 0+1=1 1+0=1 1+1=0 1+0=1 1+1=0 減法規(guī)則減法規(guī)則 0-0=0 1-0=1 0-0=0 1-0=1 1-1=0 0-1=1 1-1=0 0-1=1 乘法規(guī)則乘法規(guī)則 0 00=0 00=0 01=0 1=0 1 10=0 10=0 11=1 1=1 除法規(guī)則除法規(guī)則 0 01=0 11=0 11=11=1 “逢二進(jìn)一逢二進(jìn)一”“借一有二借一有二” 例如:例如:二進(jìn)

6、制數(shù)二進(jìn)制數(shù)A=11001A=11001,B=101B=101,則,則A+BA+B、A-BA-B、A AB B、A AB B的運(yùn)算為的運(yùn)算為 因?yàn)槎M(jìn)制中只有因?yàn)槎M(jìn)制中只有0 0和和1 1兩個(gè)數(shù)字符號(hào),可以用電子器件兩個(gè)數(shù)字符號(hào),可以用電子器件的兩種不同狀態(tài)來(lái)表示一位二進(jìn)制數(shù)。例如,可以用晶體管的兩種不同狀態(tài)來(lái)表示一位二進(jìn)制數(shù)。例如,可以用晶體管的截止和導(dǎo)通表示的截止和導(dǎo)通表示1 1和和0 0,或者用電平的高和低表示,或者用電平的高和低表示1 1和和0 0等。等。所以,所以,在數(shù)字系統(tǒng)中普遍采用二進(jìn)制。在數(shù)字系統(tǒng)中普遍采用二進(jìn)制。 二進(jìn)制的優(yōu)點(diǎn)二進(jìn)制的優(yōu)點(diǎn): : 運(yùn)算簡(jiǎn)單、物理實(shí)現(xiàn)容易、存儲(chǔ)

7、和傳送運(yùn)算簡(jiǎn)單、物理實(shí)現(xiàn)容易、存儲(chǔ)和傳送方便、可靠。方便、可靠。 二進(jìn)制的缺點(diǎn):二進(jìn)制的缺點(diǎn):數(shù)的位數(shù)太長(zhǎng)且字符單調(diào),使得書(shū)寫(xiě)、數(shù)的位數(shù)太長(zhǎng)且字符單調(diào),使得書(shū)寫(xiě)、記憶和閱讀不方便。記憶和閱讀不方便。 因此,人們?cè)谶M(jìn)行指令書(shū)寫(xiě)、程序輸入和輸出等工作時(shí),因此,人們?cè)谶M(jìn)行指令書(shū)寫(xiě)、程序輸入和輸出等工作時(shí),通常采用八進(jìn)制數(shù)和十六進(jìn)制數(shù)作為二進(jìn)制數(shù)的縮寫(xiě)。通常采用八進(jìn)制數(shù)和十六進(jìn)制數(shù)作為二進(jìn)制數(shù)的縮寫(xiě)。 3 3、八八進(jìn)制進(jìn)制 計(jì)數(shù)的基數(shù)是8,進(jìn)位規(guī)則是“逢八進(jìn)一”其中k ki i是第i位的數(shù)碼(07 7)8 8i i 稱為第i i位的權(quán) 任意一個(gè)八進(jìn)制數(shù)D可按“權(quán)”展開(kāi)為: D=D=k ki iX X8

8、 8i i八進(jìn)制使用0 07 7共共8 8個(gè)個(gè)數(shù)碼表示方式表示方式: (N)(N)8 8 ,(N)(N)O O4 4、十六進(jìn)制、十六進(jìn)制 任意一個(gè)十六進(jìn)制數(shù)D可按“權(quán)”展開(kāi)為:D=D=k ki iX16X16i i 如:(2 2F F. .8 8)1616= =2 216161 1+ +151516160 0+ +8 81616-1-1= =(47.547.5)1010二進(jìn)制、十六進(jìn)制數(shù)廣泛應(yīng)用于數(shù)字電路計(jì)數(shù)的基數(shù)是16,進(jìn)位規(guī)則是“逢十六進(jìn)一” 十六進(jìn)制使用0 09 9、A A(10)、B B(11)、C C(12)、D D(13)、E E(14)、F F(15)共16個(gè)數(shù)碼表示方式表示方式

9、: (N)(N)1616 ,(N)(N)H H5 5、數(shù)制轉(zhuǎn)換、數(shù)制轉(zhuǎn)換(1) (1) 非十進(jìn)制非十進(jìn)制-十進(jìn)制轉(zhuǎn)換十進(jìn)制轉(zhuǎn)換將二進(jìn)制數(shù)按“權(quán)”展開(kāi),然后把所有各項(xiàng)按十進(jìn)制數(shù)相加a a. .二進(jìn)制二進(jìn)制十進(jìn)制轉(zhuǎn)換十進(jìn)制轉(zhuǎn)換例:(1 10 01 11 1)2 2= =1 12 23 3+ +0 02 22 2+ +1 12 21 1+ +1 12 20 0= =(1111)1010請(qǐng)熟記2 2的010次方所對(duì)應(yīng)的十進(jìn)制數(shù):1 1,2 2,4 4,8 8,1616,3232,6464,128128,256256,512512,1024 1024 (1 10 01 11 10 0. .1 10 01

10、 1)2 2= =1 12 24 4+ +0 02 23 3+ +1 12 22 2+ +1 12 21 1+ +0 02 20 0+ +1 12 2-1-1+ +0 02 2-2-2+ +1 12 2-3-3= =(22.62522.625)1010b b. .八八進(jìn)制進(jìn)制十進(jìn)制轉(zhuǎn)換十進(jìn)制轉(zhuǎn)換將八進(jìn)制數(shù)按“權(quán)”展開(kāi),然后把所有各項(xiàng)按十進(jìn)制數(shù)相加例:(127.53)8=182+281+780+58-1+38-2 =(87.671875)10c c. .十六進(jìn)制十六進(jìn)制十進(jìn)制轉(zhuǎn)換十進(jìn)制轉(zhuǎn)換 只要將十六進(jìn)制數(shù)按公式展開(kāi),然后把所有各項(xiàng)按十進(jìn)制數(shù)相加,即轉(zhuǎn)換成十進(jìn)制數(shù)。也可先將十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制

11、數(shù),再轉(zhuǎn)換成十進(jìn)制數(shù)。例:(3F)16或:(3F)16=(111111)2=125+124+123+122+121+120=(63)10=3161+15160=(63)10例:例:(5C1.0B)16=5162+12161 +1160 +016-1 +1116-2 =(63)10(2) 十進(jìn)制十進(jìn)制-非十進(jìn)制轉(zhuǎn)換非十進(jìn)制轉(zhuǎn)換a a. .十進(jìn)制十進(jìn)制二進(jìn)制轉(zhuǎn)換二進(jìn)制轉(zhuǎn)換 十進(jìn)制整數(shù)(N)10轉(zhuǎn)換成等值二進(jìn)制數(shù)(Kn-1Kn-2K1K0)2,可寫(xiě)成下列等式:(N)10=Kn-12n-1+Kn-22n-2+K121+K020=2(Kn-12n-2+Kn-22n-3+K120) +K0 十進(jìn)制小數(shù)(N

12、)10轉(zhuǎn)換成等值二進(jìn)制數(shù)(0.K-1K-2K-m)2,可寫(xiě)成下列等式:(N)10=K-12-1+K-22-2+K-m2-m2(N)10=K-1+(K-22-2+1+K-m2-m+1 ) 2 44 余數(shù) 低位 2 22 0=K0 2 11 0=K1 2 5 1=K2 2 2 1=K3 2 1 0=K4 0 1=K5 高位 0.375 2 整數(shù) 高位 0.750 0=K1 0.750 2 1.500 1=K2 0.500 2 1.000 1=K3 低位整數(shù)部分采用除除2取余取余法,先得到的余數(shù)為低位,后得到的余數(shù)為高位。小數(shù)部分采用乘乘2取整取整法,先得到的整數(shù)為高位,后得到的整數(shù)為低位。所以:(

13、44.375)10(101100.011)2方法: 除除2取余、乘取余、乘2取整取整原理:將整數(shù)部分和小數(shù)部分分別進(jìn)行轉(zhuǎn)換。 整數(shù)部分采用除2取余法,小數(shù)部分采用乘2取整法。轉(zhuǎn)換后再合并。b b. .十進(jìn)制十進(jìn)制八八進(jìn)制轉(zhuǎn)換進(jìn)制轉(zhuǎn)換整數(shù)部分“除除8取余取余”,小數(shù)部分“乘乘8取整取整”。c c. .十進(jìn)制十進(jìn)制十六十六進(jìn)制轉(zhuǎn)換進(jìn)制轉(zhuǎn)換整數(shù)部分“除除16取余取余”,小數(shù)部分“乘乘16取整取整”。將十進(jìn)制數(shù)展成ki2i的形式 例:(123)10=64+32+16+8+0+2+1 注意:注意:不要漏掉不要漏掉0得到二進(jìn)制數(shù):knkn-1k1k0(有小數(shù)時(shí)還會(huì)有k-1)=(1111011)2=164+

14、132+116+18+04+12+11請(qǐng)熟記2的010次方所對(duì)應(yīng)的十進(jìn)制數(shù):1,2,4,8,16,32,64,128,256,512,1024 (3) (3) 二進(jìn)制二進(jìn)制十六進(jìn)制轉(zhuǎn)換十六進(jìn)制轉(zhuǎn)換 十六進(jìn)制實(shí)際上也應(yīng)屬于二進(jìn)制的范疇例:(10111011001.111)2將4位二進(jìn)制數(shù)(恰好有16個(gè)狀態(tài))看作一個(gè)整體時(shí),它的進(jìn)位關(guān)系正好是“逢十六進(jìn)一逢十六進(jìn)一”所以只要以小數(shù)點(diǎn)為界,每4位二進(jìn)制數(shù)為一組(高位不足4位時(shí),前面補(bǔ)前面補(bǔ)0,低位不足4位時(shí),后面補(bǔ)后面補(bǔ)0),并代之以等值的十六進(jìn)制數(shù),即可完成轉(zhuǎn)換 =(5D9.E)16=(0101,1101,1001.1110)2(4) (4) 十六

15、進(jìn)制十六進(jìn)制二進(jìn)制轉(zhuǎn)換二進(jìn)制轉(zhuǎn)換將每1位十六進(jìn)制數(shù)代之以等值的4位二進(jìn)制數(shù)例:(8AF.D5)16=(100010101111.11010101) 2 幾種進(jìn)制數(shù)之間的對(duì)應(yīng)關(guān)系幾種進(jìn)制數(shù)之間的對(duì)應(yīng)關(guān)系 十進(jìn)制數(shù) 二進(jìn)制數(shù) 八進(jìn)制數(shù) 十六進(jìn)制數(shù) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 8 9

16、A B C D E F 1.2 帶符號(hào)數(shù)的代碼表示帶符號(hào)數(shù)的代碼表示 數(shù)由兩部分組成:符號(hào)和絕對(duì)值。 機(jī)器中使用的二進(jìn)制數(shù)碼的最高位最高位表示符號(hào),即符號(hào)位,且0表示正,1表示負(fù),其余各位用來(lái)表示絕對(duì)值,并稱為數(shù)值位。 如: N1 = +1001 N2= - 10010 1 1001 1001 將數(shù)值部分及符號(hào)部分統(tǒng)一用代碼表示的帶符號(hào)數(shù)稱為機(jī)器數(shù)機(jī)器數(shù)。例:01001,11001 把原來(lái)的數(shù)值形式稱為真值真值。 例:+1001,-1001 計(jì)算機(jī)中的三種碼制:原碼、反碼和補(bǔ)碼。 原碼表示方法是將符號(hào)位用數(shù)值原碼表示方法是將符號(hào)位用數(shù)值0表示正號(hào),表示正號(hào),1表示負(fù)號(hào)表示負(fù)號(hào)。 如: N1 =

17、 +1001101 N2= - 1001101 N1原 = 01001101 N2原=11001101 一個(gè)一個(gè)n位的整數(shù)位的整數(shù)N的原碼(包含一位符號(hào)位)一般表示式為:的原碼(包含一位符號(hào)位)一般表示式為:N原= N 0N2n-1 2n-1-N -2n-1N0 如: N= -111, 則 N原=24-1-N=1000-(-111)=1111 定點(diǎn)小數(shù)原碼一般表示式為:定點(diǎn)小數(shù)原碼一般表示式為:N原= N 0N1 1-N -1N0 如: N= -0.101, 則 N原=1-N=1-(-0.101)=1.101 定點(diǎn)小數(shù),通常小數(shù)點(diǎn)定在最高定點(diǎn)小數(shù),通常小數(shù)點(diǎn)定在最高位位的左邊,這時(shí),數(shù)值小于的

18、左邊,這時(shí),數(shù)值小于1. 從原碼的一般表示式中可以看出: (1)當(dāng)N為正數(shù)時(shí),N原和N的區(qū)別只是增加一位用0表示的符號(hào)位,由于在數(shù)的左邊增加一位0對(duì)該數(shù)的數(shù)值并沒(méi)有影響,所以N原就是N本身。 (2)當(dāng)N為負(fù)數(shù)時(shí),N原和N的區(qū)別是增加一位用1表示的符號(hào)位。 (3)在原碼表示中,有兩種不同形式的0,即: +0原=0.00 - 0原=1.00 原碼的運(yùn)算: 符號(hào)位僅僅用來(lái)表示數(shù)的正、負(fù),不參加運(yùn)算不參加運(yùn)算。 參加運(yùn)算的只是數(shù)值部分。 兩數(shù)相加,如果同號(hào),則數(shù)值相加,符號(hào)不變;如果異號(hào),則進(jìn)行減法,相減時(shí),須先比較兩數(shù)絕對(duì)值大小,然后從絕對(duì)值較大的數(shù)中減去絕對(duì)值較小的數(shù),差值的符號(hào)與絕對(duì)值較大的數(shù)的

19、符號(hào)一致。 【例例1-6】 試?yán)迷a求26-21,設(shè)字長(zhǎng)為8位。00011010 00010101 - 00000101 26-21原=00000101 【例例1-7】 試?yán)迷a求21-26,設(shè)字長(zhǎng)為8位。00011010 00010101 - 00000101 21-26原=10000101 缺點(diǎn):缺點(diǎn): 采用原碼運(yùn)算,為了判斷是同號(hào)還是異號(hào)、比較數(shù)的絕對(duì)值大小等,增加機(jī)器中設(shè)備和降低運(yùn)算速度。 0有兩種不同形式的表示方式。 正數(shù):反碼與原碼相同; 負(fù)數(shù):反碼是將原碼的數(shù)值位按位取反按位取反,即“1”變“0”,“0”變“1”,而符號(hào)位為1。 例: N1=+1001101, 則 N1反=0

20、1001101 例: N2= -1001101, 則 N2反=10110010反碼的形成規(guī)則是:N反= N 0N2n-1 (2n-1)+N -2n-1N0 a. 一個(gè)n位的整數(shù)N(包含符號(hào)位)的反碼表示式為:N反= N 0N1 (2-2-m)+N -1N0 b. 定點(diǎn)小數(shù),若小數(shù)部分的位數(shù)為-m,反碼表示式為: 例: N=-1001,則 N反=25-1+N=100000-1+(-1001)=10110 例: N=-0.1001,則 N反=2-2-4+N=10-0.0001+(-0.1001)=1.0110從反碼的一般表示式中可以看出: (1) 當(dāng)N為正數(shù)時(shí),N反與N原相同; (2) 當(dāng)N為負(fù)數(shù)

21、時(shí),N反符號(hào)位為1,數(shù)值部分是將原碼數(shù)值位按位取反; (3) 在反碼表示中,有兩種不同形式的0,即: +0反=0.00 - 0反=1.11反碼的運(yùn)算: (1) 把A與B(減去運(yùn)算為-B)均表示成反碼形式; (2) 兩個(gè)反碼相加/減,且把符號(hào)位也看成二進(jìn)制數(shù)的最高位參與運(yùn)算參與運(yùn)算; (3) 若結(jié)果中最高位有進(jìn)位,則將該進(jìn)位與和數(shù)的最低位再相加(循環(huán)進(jìn)位)。運(yùn)算結(jié)果仍為反碼。 設(shè)A和B依次為被加數(shù)(或被減數(shù))或加數(shù)(或減數(shù))。運(yùn)算規(guī)則是: A+B反=A反+B反 A-B反=A反+-B反【例例1-8】 試?yán)梅创a求26-21,設(shè)字長(zhǎng)為8位。00011010 11101010 + 100000100

22、26-21反=26反+-21反=00000101 26反=00011010 -21反=11101010 26反+-21反:1 + 00000101 【例例1-9】 試?yán)梅创a求21-26,設(shè)字長(zhǎng)為8位。00010101 11100101 + 11111010 21-26反=21反+-26反=11111010 21反=00010101 -26反=11100101 21反+-26反: 正數(shù):補(bǔ)碼與原碼相同; 負(fù)數(shù): 符號(hào)位為1,數(shù)值位按位取反,然后在最低有效位上加1 。 例: N1=+1001101, 則 N1補(bǔ)=01001101 例: N2=-1001101, 則 N2補(bǔ)=10110011補(bǔ)碼的

23、形成規(guī)則是:N補(bǔ)= N 0N2n-1 2n+N -2n-1N0 a. 一個(gè)n位的整數(shù)N(包含符號(hào)位)的補(bǔ)碼表示式為:N補(bǔ)= N 0N1 2+N -1N0 b. 定點(diǎn)小數(shù),補(bǔ)碼表示式為: 例: N=-1001,則 N補(bǔ)=25+N=100000+(-1001)=10111 例: N=-0.1001,則 N補(bǔ)=2+N=10+(-0.1001)=1.0111從補(bǔ)碼的一般表示式中可以看出: (1) 當(dāng)N為正數(shù)時(shí),N補(bǔ)與N原相同; (2) 當(dāng)N為負(fù)數(shù)時(shí),N補(bǔ)符號(hào)位為1,數(shù)值部分是將原碼數(shù)值位按位取反然后加1; (3) 在補(bǔ)碼表示中,0的表示式是惟一的,即: +0補(bǔ)=0.00 - 0補(bǔ)=0.00補(bǔ)碼的運(yùn)算:

24、 設(shè)A和B依次為被加數(shù)(或被減數(shù))或加數(shù)(或減數(shù))。運(yùn)算規(guī)則是: A+B補(bǔ)=A補(bǔ)+B補(bǔ) A-B補(bǔ)=A補(bǔ)+-B補(bǔ) 運(yùn)算步驟與反碼相似,但不進(jìn)行循環(huán)移位,進(jìn)位自動(dòng)丟失?!纠?-10】 試?yán)醚a(bǔ)碼求26-21,設(shè)字長(zhǎng)為8位。00011010 11101011 + 100000101 26-21補(bǔ)=26補(bǔ)+-21補(bǔ)=00000101 26補(bǔ)=00011010 -21補(bǔ)=11101011 26補(bǔ)+-21補(bǔ):(自動(dòng)丟失) 【例例1-11】 試?yán)醚a(bǔ)碼求21-26,設(shè)字長(zhǎng)為8位。00010101 11100110 + 11111011 21-26補(bǔ)=21補(bǔ)+-26補(bǔ)=11111011 21補(bǔ)=000101

25、01 -26補(bǔ)=11100110 21補(bǔ)+-26補(bǔ): 在計(jì)算機(jī)中,帶符號(hào)數(shù)均用補(bǔ)碼表示在計(jì)算機(jī)中,帶符號(hào)數(shù)均用補(bǔ)碼表示和存儲(chǔ)和存儲(chǔ)。原因在于,原因在于,使用補(bǔ)碼,可以將符號(hào)位和數(shù)值位統(tǒng)一處理,使用補(bǔ)碼,可以將符號(hào)位和數(shù)值位統(tǒng)一處理,從而簡(jiǎn)化運(yùn)算從而簡(jiǎn)化運(yùn)算規(guī)則規(guī)則;同時(shí),;同時(shí),使減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算使減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,加法和減法也可,加法和減法也可以統(tǒng)一處理,其轉(zhuǎn)換過(guò)程都是在計(jì)數(shù)機(jī)的最底層進(jìn)行的,以統(tǒng)一處理,其轉(zhuǎn)換過(guò)程都是在計(jì)數(shù)機(jī)的最底層進(jìn)行的,進(jìn)進(jìn)一步簡(jiǎn)化計(jì)算機(jī)中運(yùn)算器的線路設(shè)計(jì)一步簡(jiǎn)化計(jì)算機(jī)中運(yùn)算器的線路設(shè)計(jì)。 補(bǔ)碼表示的兩數(shù)運(yùn)算后的結(jié)果依然是補(bǔ)碼。補(bǔ)碼表示的兩數(shù)運(yùn)算后的結(jié)果依然

26、是補(bǔ)碼。 將補(bǔ)碼再次求補(bǔ),得到的結(jié)果為原碼。將補(bǔ)碼再次求補(bǔ),得到的結(jié)果為原碼。N補(bǔ)補(bǔ)=N原:N補(bǔ)補(bǔ)=N原: 在計(jì)算機(jī)中,帶符號(hào)數(shù)均用在計(jì)算機(jī)中,帶符號(hào)數(shù)均用補(bǔ)碼補(bǔ)碼表示。表示。 加減法幾乎都采用加減法幾乎都采用補(bǔ)碼補(bǔ)碼運(yùn)算。運(yùn)算。當(dāng)數(shù)碼表示不同的對(duì)象(或信息)時(shí)被稱為代碼 。如:郵政編碼、汽車牌照、房間號(hào)等,它們都沒(méi)有大小的含意。為了便于記憶和處理(如查詢),在編制代碼時(shí)總要遵循一定的規(guī)則,這些規(guī)則就叫做碼制。1.4 編碼編碼 利用若干位二進(jìn)制數(shù)碼來(lái)表示一位十進(jìn)制數(shù)的利用若干位二進(jìn)制數(shù)碼來(lái)表示一位十進(jìn)制數(shù)的方法,稱為十進(jìn)制數(shù)的二進(jìn)制編碼,簡(jiǎn)稱二方法,稱為十進(jìn)制數(shù)的二進(jìn)制編碼,簡(jiǎn)稱二-十進(jìn)十進(jìn)制

27、編碼,即制編碼,即BCD(binary coded decimal)碼。)碼。 一位十進(jìn)制數(shù)有一位十進(jìn)制數(shù)有0-9共共10個(gè)不同數(shù)碼,需用四個(gè)不同數(shù)碼,需用四位二進(jìn)制數(shù)才能表示。四位二進(jìn)制數(shù)有位二進(jìn)制數(shù)才能表示。四位二進(jìn)制數(shù)有16種不同種不同的組合。的組合。 從從16種組合狀態(tài)中取種組合狀態(tài)中取10種狀態(tài)來(lái)表示種狀態(tài)來(lái)表示0-9的編的編碼。碼。(1) 8421BCD碼碼 84218421碼中四位二進(jìn)制數(shù)碼從左到右的權(quán)依次為:碼中四位二進(jìn)制數(shù)碼從左到右的權(quán)依次為:8 8、4 4、2 2、1 1,因此被稱為,因此被稱為8421BCD8421BCD碼。碼。 它是一種有權(quán)碼。它是一種有權(quán)碼。 8421

28、8421碼是最常用的碼是最常用的BCDBCD碼。碼。 另外,每個(gè)代碼的數(shù)值恰好等于它所表示的十進(jìn)另外,每個(gè)代碼的數(shù)值恰好等于它所表示的十進(jìn)制數(shù)的大小。制數(shù)的大小。 84218421碼具有奇偶特性,當(dāng)十進(jìn)碼具有奇偶特性,當(dāng)十進(jìn)制數(shù)為奇數(shù)值時(shí),其所對(duì)應(yīng)的二進(jìn)制數(shù)為奇數(shù)值時(shí),其所對(duì)應(yīng)的二進(jìn)制碼的最低位為制碼的最低位為1 1;當(dāng)十進(jìn)制數(shù)為;當(dāng)十進(jìn)制數(shù)為偶數(shù)值時(shí),其所對(duì)應(yīng)的二進(jìn)制碼的偶數(shù)值時(shí),其所對(duì)應(yīng)的二進(jìn)制碼的最低位為最低位為0.0.因此,采用因此,采用84218421碼容易碼容易判別奇偶。判別奇偶。注意:注意: 8421 8421碼中沒(méi)有碼中沒(méi)有10101111代碼。代碼。 兩個(gè)兩個(gè)84218421

29、碼相加,和超過(guò)碼相加,和超過(guò)1010,要進(jìn)行加,要進(jìn)行加6 6(01100110)校正。)校正。(2) 2421碼碼 2421 2421碼碼也是一種有權(quán)碼,也是一種有權(quán)碼,2421碼中從左到右的權(quán)依次為:2 2、4 4、2 2、1 1。注意:注意: a. a. 編碼方案不唯一(如十進(jìn)制數(shù)編碼方案不唯一(如十進(jìn)制數(shù)“5”“5”可以編碼為可以編碼為“1011”“1011”或或“0101”“0101”);); b. b. 0 09 9、1 18 8、2 27 7等數(shù)字編碼互為按位取反結(jié)果,等數(shù)字編碼互為按位取反結(jié)果,這有助于十進(jìn)制的運(yùn)算簡(jiǎn)化這有助于十進(jìn)制的運(yùn)算簡(jiǎn)化。 余余3 3碼碼被看成被看成4 4

30、位二進(jìn)制數(shù)時(shí),位二進(jìn)制數(shù)時(shí),它的每一個(gè)碼組所它的每一個(gè)碼組所表示的表示的數(shù)比相應(yīng)的數(shù)比相應(yīng)的84218421碼組所表示的數(shù)多碼組所表示的數(shù)多3 3,故稱為余,故稱為余3 3碼。碼。(3) 余余3碼碼2. 2. 余余3 3碼與十進(jìn)制數(shù)碼與十進(jìn)制數(shù)進(jìn)行進(jìn)行轉(zhuǎn)換轉(zhuǎn)換時(shí)時(shí),每位十進(jìn)制數(shù),每位十進(jìn)制數(shù)字字的編碼的編碼都應(yīng)余都應(yīng)余3 3。例如,。例如, (256)(256)10 10 = (0101 1000 1001)= (0101 1000 1001)余余3 3碼碼 (1000 1001 1001 1011)(1000 1001 1001 1011)余余3 3碼碼 = (5668)= (5668)10

31、 10 注意注意:1.余余3碼中不允許出現(xiàn)碼中不允許出現(xiàn)0000、0001、0010、1101、1110 和和1111六種狀態(tài)。六種狀態(tài)。 如果將兩個(gè)余如果將兩個(gè)余3 3碼相加,所得的和將比十進(jìn)制數(shù)和所對(duì)碼相加,所得的和將比十進(jìn)制數(shù)和所對(duì)應(yīng)的二進(jìn)制數(shù)多應(yīng)的二進(jìn)制數(shù)多6 6,因此所產(chǎn)生的和要進(jìn)行修正之后才是正,因此所產(chǎn)生的和要進(jìn)行修正之后才是正確的余三碼。確的余三碼。 修正方法是:如果相加后的和沒(méi)有進(jìn)位輸出,則和數(shù)需修正方法是:如果相加后的和沒(méi)有進(jìn)位輸出,則和數(shù)需要減速要減速3 3才能保持余才能保持余3 3,如果有進(jìn)位輸出,則和數(shù)需要加,如果有進(jìn)位輸出,則和數(shù)需要加3 3才才能保持余能保持余3

32、3。如果有進(jìn)位,則結(jié)果加如果有進(jìn)位,則結(jié)果加3 3;如果無(wú)進(jìn)位,則結(jié)果;如果無(wú)進(jìn)位,則結(jié)果減減3 3。例如:例如:2+3=52+3=5 10111011+ + 3 3 (01100110)余余3 3碼碼 5 5 (10100000)余余3 3碼碼 2 2 (01010101)余余3 3碼碼- - 00110011例如:例如:8+3=118+3=11+ + 3 3 (01100110)余余3 3碼碼+ + 00110011 1 1000100011 1 1 1 1 1(01010000)余余3 3碼碼 8 8 (1011011 1)余余3 3碼碼 余余3 3循環(huán)碼循環(huán)碼是一種無(wú)權(quán)碼,其是一種無(wú)權(quán)

33、碼,其特點(diǎn)特點(diǎn)是:每?jī)蓚€(gè)相鄰編碼是:每?jī)蓚€(gè)相鄰編碼之間只有一位碼元不同。這一特點(diǎn)使數(shù)據(jù)在形成和傳輸時(shí)不之間只有一位碼元不同。這一特點(diǎn)使數(shù)據(jù)在形成和傳輸時(shí)不易出現(xiàn)錯(cuò)誤。易出現(xiàn)錯(cuò)誤。種類編碼十進(jìn)制數(shù)幾種常見(jiàn)的BCD碼(1) 奇偶校驗(yàn)碼奇偶校驗(yàn)碼 一種通過(guò)增加冗余位使得碼字中1的個(gè)數(shù)恒為奇數(shù)或偶數(shù)的編碼方法,它是一種檢錯(cuò)碼。奇偶校驗(yàn)碼奇偶校驗(yàn)碼要傳送的要傳送的信息本身信息本身位數(shù)不限位數(shù)不限奇校驗(yàn)奇校驗(yàn)偶偶校驗(yàn)校驗(yàn)1100100101001001 2 2編碼方式:有兩種編碼方式。編碼方式:有兩種編碼方式。 奇檢驗(yàn):奇檢驗(yàn):使信息位和檢驗(yàn)位中使信息位和檢驗(yàn)位中“1 1”的個(gè)數(shù)共計(jì)為奇數(shù);的個(gè)數(shù)共計(jì)為奇

34、數(shù); 偶檢驗(yàn):偶檢驗(yàn):使信息位和檢驗(yàn)位中使信息位和檢驗(yàn)位中“1 1”的個(gè)數(shù)共計(jì)為偶數(shù)。的個(gè)數(shù)共計(jì)為偶數(shù)。其利用的是編碼中1的個(gè)數(shù)的奇偶性作為依據(jù),所以不能發(fā)現(xiàn)偶數(shù)位錯(cuò)誤。(2) 格雷碼格雷碼 在一組數(shù)的編碼中,若任意兩個(gè)相鄰的代碼只有一位二進(jìn)制數(shù)不同,則稱這種編碼為格雷碼格雷碼(Gray Code),另外由于最大數(shù)與最小數(shù)之間也僅一位數(shù)不同,即“首尾相連”,因此又稱循環(huán)碼循環(huán)碼或單位距離碼,單位距離碼,也稱做反射碼反射碼。 例如,按自然數(shù)遞增計(jì)數(shù),若采用8421碼,則數(shù)0111變到1000時(shí)四位均要變化,而在實(shí)際電路中,4位的變化不可能絕對(duì)同時(shí)發(fā)生,則計(jì)數(shù)中可能出現(xiàn)短暫的其它代碼(1100、1

35、111等)。在特定情況下可能導(dǎo)致電路狀態(tài)錯(cuò)誤或輸入錯(cuò)誤。使用格雷碼可以避免這種錯(cuò)誤。格雷碼有多種編碼形式。 格雷碼是一種具有反射特性和循環(huán)特性的單步自補(bǔ)碼,其循環(huán)和單步特性消除了隨機(jī)取數(shù)時(shí)出現(xiàn)重大錯(cuò)誤的可能,其反射和自補(bǔ)特性使得對(duì)其進(jìn)行求反操作也非常方便,所以,格雷碼屬于一種可靠性編碼,是一種錯(cuò)誤最小化的編碼方式是一種錯(cuò)誤最小化的編碼方式,因此格雷碼在通信和測(cè)量技術(shù)中得到廣泛應(yīng)用。 表中典型格雷碼具有代表性。若不作特別說(shuō)明,格雷碼就是指典典型格雷碼型格雷碼,它可從自然二進(jìn)制碼轉(zhuǎn)換而來(lái)。 計(jì)算機(jī)存儲(chǔ)和處理的數(shù)據(jù)并不都是數(shù)字,還計(jì)算機(jī)存儲(chǔ)和處理的數(shù)據(jù)并不都是數(shù)字,還有字母、運(yùn)算符號(hào)及其他特殊符號(hào),

36、這些數(shù)字、有字母、運(yùn)算符號(hào)及其他特殊符號(hào),這些數(shù)字、字母和符號(hào)統(tǒng)稱為字符,通常用二進(jìn)制代碼來(lái)表字母和符號(hào)統(tǒng)稱為字符,通常用二進(jìn)制代碼來(lái)表示,即字符代碼。示,即字符代碼。如:如:ASCIIASCII碼碼。 ASCII ASCII將字母、數(shù)字和其它符號(hào)編號(hào),并用將字母、數(shù)字和其它符號(hào)編號(hào),并用7 7比特的二進(jìn)制來(lái)表示。通常會(huì)額外使用比特的二進(jìn)制來(lái)表示。通常會(huì)額外使用1 1個(gè)擴(kuò)充的個(gè)擴(kuò)充的比特,以便于以比特,以便于以1 1個(gè)字節(jié)的方式存儲(chǔ)。個(gè)字節(jié)的方式存儲(chǔ)。 000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111 NUL DEL SP 0 P NUL DEL SP 0 P 、 p p SOH DC1 ! 1 A Q a q SOH DC1 ! 1 A Q a q STX DC2 2 B R b r STX DC2 2 B R b r ETX DC3 # 3 C S c s ETX DC3 # 3 C S c s EOT DC4 $ 4 D T d t EOT DC4 $ 4 D T d t ENQ NAK % 5 E U e u ENQ NAK % 5 E U e u ACK SYN & 6 F V f v ACK SYN & 6 F V f v BEL E

溫馨提示

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