




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算機組成原理計算機組成原理Principles of Computer Composition2第二部分第二部分 數(shù)據(jù)的表示和運算數(shù)據(jù)的表示和運算 n 2.1 數(shù)制與編碼數(shù)制與編碼n 2.2 定點數(shù)表示和運算定點數(shù)表示和運算n 2.3 浮點數(shù)表示和運算浮點數(shù)表示和運算n 2.4 算術(shù)邏輯單元算術(shù)邏輯單元ALU3 2.1 2.1 數(shù)制與編碼數(shù)制與編碼 2.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換 2.1.2 真值和機器數(shù)真值和機器數(shù) 2.1.3 BCD碼碼 2.1.4 字符與字符串字符與字符串 2.1.5 校驗碼校驗碼42.1 數(shù)制與編碼數(shù)制與編碼n計算機中使用的數(shù)據(jù)可分成兩大類:
2、計算機中使用的數(shù)據(jù)可分成兩大類: 符號數(shù)據(jù)符號數(shù)據(jù): :非數(shù)字符號的表示(非數(shù)字符號的表示(ASCIIASCII、漢字、圖形等)、漢字、圖形等) 數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù): :數(shù)字?jǐn)?shù)據(jù)的表示方式(定點、浮點)數(shù)字?jǐn)?shù)據(jù)的表示方式(定點、浮點)n計算機數(shù)字和字符的表示方法應(yīng)有利于數(shù)據(jù)的存儲、加工計算機數(shù)字和字符的表示方法應(yīng)有利于數(shù)據(jù)的存儲、加工( (處理處理) )、傳送;、傳送;n編碼:用少量、簡單的基本符號,選擇合適的規(guī)則表示盡編碼:用少量、簡單的基本符號,選擇合適的規(guī)則表示盡量多的信息,同時利于信息處理(速度、方便)量多的信息,同時利于信息處理(速度、方便)52.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)
3、制及其相互轉(zhuǎn)換一、數(shù)制一、數(shù)制 進位計數(shù)制進位計數(shù)制 進位計數(shù)制:進位計數(shù)制:用少量的數(shù)字符號(也稱數(shù)碼),按先用少量的數(shù)字符號(也稱數(shù)碼),按先后次序把它們排成數(shù)位,由低到高進行計數(shù),計滿進后次序把它們排成數(shù)位,由低到高進行計數(shù),計滿進位,這樣的方法稱為進位計數(shù)制位,這樣的方法稱為進位計數(shù)制 基數(shù):基數(shù):進位制的基本特征數(shù),即所用到的數(shù)字符號個進位制的基本特征數(shù),即所用到的數(shù)字符號個數(shù)數(shù) 例如例如10進制進制 :09 十個數(shù)碼表示,基數(shù)為十個數(shù)碼表示,基數(shù)為10 權(quán):權(quán):進位制中各位進位制中各位“1”所表示的值為該位的權(quán)所表示的值為該位的權(quán) 常見的進位制常見的進位制: 2,8,10,16進制
4、進制62.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換n十進制十進制(Decimal)b基數(shù)基數(shù):10; 符號符號:0,1,2,3,4,5,6,7,8,9b計算規(guī)律計算規(guī)律:“逢十進一逢十進一 ”或或“借一當(dāng)十借一當(dāng)十”b并列表示并列表示:N10=dn-1dn-2 d1d0d-1d-2 d-m 十進制數(shù)的多項式表示十進制數(shù)的多項式表示:bN10=dn-1 10n-1 + dn-2 10n-2 + +d1 101 + d0 100 + d-1 10-1 + d-2 10-2 + +d-m 10-M m,n為正整數(shù)為正整數(shù),其中其中n為整數(shù)位數(shù);為整數(shù)位數(shù);m為小數(shù)位數(shù)。為小數(shù)位數(shù)。Di表
5、示表示第第i位的系數(shù)位的系數(shù),10i稱為該位的權(quán)稱為該位的權(quán). 123.45 =1102+ 2101+ 3 100 + 410-1+ 510-2注:注:等式左邊為并列表示法,等式右邊為多項式表示法等式左邊為并列表示法,等式右邊為多項式表示法72.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換n二二 、進位計數(shù)制之間的轉(zhuǎn)換、進位計數(shù)制之間的轉(zhuǎn)換1、R進制轉(zhuǎn)換成十進制的方法進制轉(zhuǎn)換成十進制的方法b按權(quán)展開法按權(quán)展開法:先寫成多項式先寫成多項式,然后計算十進制結(jié)果然后計算十進制結(jié)果.bN= Kn-1Kn-2 K1K0K-1K-2 K-m =Kn-1 rn-1 + Kn-2 rn-2 + +K1
6、 r1 + K0 r0 + K-1 r-1 + K-2 r-2 + K-m r-mn=82.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換n2、十進制轉(zhuǎn)換成二進制方法、十進制轉(zhuǎn)換成二進制方法10進制到進制到R進制:進制:整數(shù)部分:除整數(shù)部分:除r取余,取余,r為進制基數(shù)為進制基數(shù) 小數(shù)部分:乘小數(shù)部分:乘r取整取整十進制轉(zhuǎn)換成二進制十進制轉(zhuǎn)換成二進制,一般分為兩個步驟:一般分為兩個步驟: 整數(shù)部分的轉(zhuǎn)換整數(shù)部分的轉(zhuǎn)換 除除2取余法(基數(shù)除法)取余法(基數(shù)除法) 小數(shù)部分的轉(zhuǎn)換小數(shù)部分的轉(zhuǎn)換 乘乘2取整法(基數(shù)乘法)取整法(基數(shù)乘法)92.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)
7、換n整數(shù)部分的轉(zhuǎn)換整數(shù)部分的轉(zhuǎn)換除基取余法:除基取余法:把給定的除以基數(shù)把給定的除以基數(shù),取余數(shù)作為最低位的系數(shù)取余數(shù)作為最低位的系數(shù),然后繼續(xù)將商部分除以然后繼續(xù)將商部分除以 基數(shù)基數(shù),余數(shù)作為次低位系數(shù)余數(shù)作為次低位系數(shù),重復(fù)操重復(fù)操作直至商為作直至商為 0 例如:用基數(shù)除法將例如:用基數(shù)除法將(327)10轉(zhuǎn)換成二進制數(shù)轉(zhuǎn)換成二進制數(shù)2 327 余數(shù)余數(shù)2 163 1 2 81 1 2 40 1 2 20 0 2 10 0 2 5 0 2 2 1 2 1 0 2 0 1 (327)(327)10 10 =(101000111) =(101000111) 2 2102.1.1 進位計數(shù)制及
8、其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換n小數(shù)部分的轉(zhuǎn)換小數(shù)部分的轉(zhuǎn)換 乘基取整法:乘基取整法:把給定的十進制小數(shù)乘以把給定的十進制小數(shù)乘以2,取其整數(shù)作為二取其整數(shù)作為二進制小數(shù)的第一位進制小數(shù)的第一位,然后取小數(shù)部分繼續(xù)乘以然后取小數(shù)部分繼續(xù)乘以2,將所的整數(shù)將所的整數(shù)部分作為第二位小數(shù)部分作為第二位小數(shù),重復(fù)操作直至得到所需要的二進制重復(fù)操作直至得到所需要的二進制小數(shù)小數(shù)例如例如: :將將(0.8125) (0.8125) 10 10 轉(zhuǎn)換成二進制小數(shù)轉(zhuǎn)換成二進制小數(shù). . 整數(shù)部分整數(shù)部分2 2 0.8125=1.625 10.8125=1.625 12 2 0.625=1.25 10.625
9、=1.25 12 2 0.25=0.5 0 0.25=0.5 02 2 0.5=1 10.5=1 1(0.8125) (0.8125) 10 10 =(0.1101) =(0.1101) 2 2112.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換n3、其它進制之間的直接轉(zhuǎn)換法、其它進制之間的直接轉(zhuǎn)換法122.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換n二進制轉(zhuǎn)換成八進制二進制轉(zhuǎn)換成八進制例:例:(10110111 .01101) 2(10110111.01101) (10110111.01101) 2 2 =(267.32)=(267.32)8 8八進制八進制: 2 6 7
10、: 2 6 7 . . 3 2 3 2二進制二進制: : 0 010 ,110 , 111 10 ,110 , 111 . . 011 , 01 011 , 010 0二進制二進制: 10 ,110 , 111 : 10 ,110 , 111 . . 011 , 01011 , 01132.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換n八進制轉(zhuǎn)換二進制八進制轉(zhuǎn)換二進制n例如例如: (123.46 ) 8n二進制轉(zhuǎn)換成十六進制二進制轉(zhuǎn)換成十六進制例:例:(110110111 .01101) 2(10110111.01101) 2 =(1B7.68)16十六進制十六進制: 1 B 7 .
11、6 8二進制二進制: 0001 ,1011 , 0111 . 0110 ,1000二進制二進制: 1 ,1011 , 0111 . 0110 ,1142.1.1 進位計數(shù)制及其相互轉(zhuǎn)換進位計數(shù)制及其相互轉(zhuǎn)換n十六進制轉(zhuǎn)換成二進制十六進制轉(zhuǎn)換成二進制n例如例如: (7AC.DE ) 16n=(0111,1010,1100.1101,1110 ) 2 n=(11110101100 .1101111 )2152.1.2 真值和機器數(shù)真值和機器數(shù) 機器數(shù):機器數(shù):符號數(shù)碼化的數(shù)稱為機器數(shù)符號數(shù)碼化的數(shù)稱為機器數(shù) 如如 : X=01011 Y=11011 機器數(shù)的特點:機器數(shù)的特點: 1. 數(shù)的符號數(shù)值
12、化,通常放在二進制數(shù)的最高位數(shù)的符號數(shù)值化,通常放在二進制數(shù)的最高位 2. 二進制數(shù)的位數(shù)受機器設(shè)備的限制二進制數(shù)的位數(shù)受機器設(shè)備的限制 真值真值:帶符號位的機器數(shù)稱為真值。帶符號位的機器數(shù)稱為真值。 如如 二進制真值:二進制真值: X=+1011 y=-1011 符號位數(shù)值化后,為了能提高對機器數(shù)進行算術(shù)運符號位數(shù)值化后,為了能提高對機器數(shù)進行算術(shù)運算、提高運算速度,設(shè)置了多種符號位與數(shù)值一起編算、提高運算速度,設(shè)置了多種符號位與數(shù)值一起編碼的方案。最常用的有:碼的方案。最常用的有:原碼、反碼和補碼原碼、反碼和補碼162.1.2 真值和機器數(shù)真值和機器數(shù)帶符號的數(shù)帶符號的數(shù) 符號數(shù)字化的數(shù)符
13、號數(shù)字化的數(shù)+ 0.10110 1011小數(shù)點的位置小數(shù)點的位置+ 11000 1100小數(shù)點的位置小數(shù)點的位置 11001 1100小數(shù)點的位置小數(shù)點的位置 0.10111 1011小數(shù)點的位置小數(shù)點的位置真值真值 機器數(shù)機器數(shù)172.1.3 BCD碼碼n1 1、定義:、定義:n用四位二進制代碼的不同組合來表示一個十進制數(shù)碼的編碼方用四位二進制代碼的不同組合來表示一個十進制數(shù)碼的編碼方法,稱為二法,稱為二十進制編碼,也稱十進制編碼,也稱BCDBCD碼碼(Binary Coded (Binary Coded Decimal)Decimal),或二進碼十進數(shù)。是一種二進制的數(shù)字編碼形式,或二進碼
14、十進數(shù)。是一種二進制的數(shù)字編碼形式,用二進制編碼的十進制代碼。用二進制編碼的十進制代碼。nBCDBCD碼利用四個位元來儲存一個十進制的數(shù)碼,使二進制和十碼利用四個位元來儲存一個十進制的數(shù)碼,使二進制和十進制之間的轉(zhuǎn)換得以快捷的進行。相對于一般的浮點式記數(shù)法進制之間的轉(zhuǎn)換得以快捷的進行。相對于一般的浮點式記數(shù)法,采用,采用BCDBCD碼,既可保存數(shù)值的精確度,又可免卻使電腦作浮碼,既可保存數(shù)值的精確度,又可免卻使電腦作浮點運算時所耗費的時間。此外,對于其他需要高精確度的計算點運算時所耗費的時間。此外,對于其他需要高精確度的計算,BCDBCD編碼亦很常用。編碼亦很常用。182.1.3 BCD碼碼n
15、2 2、原理、原理 (1 1)二)二十進制編碼都采用壓縮的十進制串的方法,十進制編碼都采用壓縮的十進制串的方法,即四個二進制位的值來表示一個十進制數(shù)碼。即四個二進制位的值來表示一個十進制數(shù)碼。 (2 2)各種編碼的區(qū)別在于選用哪十個狀態(tài)。選擇的原)各種編碼的區(qū)別在于選用哪十個狀態(tài)。選擇的原則是:要考慮輸入和輸出時轉(zhuǎn)換方便;內(nèi)部運算時,加、則是:要考慮輸入和輸出時轉(zhuǎn)換方便;內(nèi)部運算時,加、減運算規(guī)則要盡量簡單;在特定場合,可能有其它一些要減運算規(guī)則要盡量簡單;在特定場合,可能有其它一些要求。求。 (3 3)從每個二進制位是否有確定的位權(quán)區(qū)分,可把二)從每個二進制位是否有確定的位權(quán)區(qū)分,可把二十進
16、制編碼分為有權(quán)碼和無權(quán)碼。十進制編碼分為有權(quán)碼和無權(quán)碼。192.1.3 BCD碼碼n3 3、常用、常用BCDBCD編碼方式編碼方式n最常用的最常用的BCDBCD編碼,就是使用編碼,就是使用“0”0”至至“9”9”這十個數(shù)值的這十個數(shù)值的二進碼來表示。這種編碼方式,我們稱之為二進碼來表示。這種編碼方式,我們稱之為“84218421碼碼”。n對應(yīng)不同需求,各人亦開發(fā)了不同的編碼方法,以適應(yīng)不對應(yīng)不同需求,各人亦開發(fā)了不同的編碼方法,以適應(yīng)不同的需求。這些編碼,大致可以分成有權(quán)碼和無權(quán)碼兩種同的需求。這些編碼,大致可以分成有權(quán)碼和無權(quán)碼兩種。n有權(quán)有權(quán)BCDBCD碼碼,如:,如:8421(8421(
17、最常用最常用) )、24212421、5421 5421 n無權(quán)無權(quán)BCDBCD碼碼,如:余,如:余3 3碼、格雷碼碼、格雷碼202.1.3 BCD碼碼n4、二、二十進制(十進制(BCD)有權(quán)碼)有權(quán)碼1、對于有權(quán)碼,將每位的數(shù)碼與相應(yīng)的位權(quán)相乘,再求和、對于有權(quán)碼,將每位的數(shù)碼與相應(yīng)的位權(quán)相乘,再求和,就可以得到它所代表的十進制數(shù)值。,就可以得到它所代表的十進制數(shù)值。2、8421碼實現(xiàn)加、減運算時的修正規(guī)則:碼實現(xiàn)加、減運算時的修正規(guī)則:(1)4位一組二進制數(shù),兩個位一組二進制數(shù),兩個8421碼表示的數(shù)相加之和等于碼表示的數(shù)相加之和等于或小于或小于1001,即十進制的,即十進制的9時,不需要
18、修正,在各組內(nèi),時,不需要修正,在各組內(nèi),二進制代碼相加,仍遵循二進制代碼相加,仍遵循“逢二進一逢二進一”的規(guī)則。的規(guī)則。(2)4位一組二進制數(shù),兩個位一組二進制數(shù),兩個8421碼相加結(jié)果大于碼相加結(jié)果大于1001(即(即十進制十進制9)時,則應(yīng)該對該組的)時,則應(yīng)該對該組的4位進行位進行“加加6修正修正”,使,使它向高一組產(chǎn)生進位。它向高一組產(chǎn)生進位。(3)4位一組二進制數(shù),兩個位一組二進制數(shù),兩個8421碼相加結(jié)果大于或等于碼相加結(jié)果大于或等于10000(即十進制(即十進制16),而向高一組進位時,則應(yīng)該對該),而向高一組進位時,則應(yīng)該對該4位進行位進行“加加6修正修正”21222.1.3
19、 BCD碼碼3、其它編碼方法還有:、其它編碼方法還有:2421碼、碼、5211碼、碼、4311碼和碼和84-2-1碼碼( 四位二進制位的位權(quán)分別為四位二進制位的位權(quán)分別為8、4、-2、-1)等。其最方便等。其最方便使用的共同特點為:使用的共同特點為:(1) 對于對于2421碼、碼、5211碼、碼、4311碼,任何兩個十進制數(shù)位,碼,任何兩個十進制數(shù)位,采用這三種編碼的任何一種編碼,它們相加之和等于或大采用這三種編碼的任何一種編碼,它們相加之和等于或大于于10時,其結(jié)果的最高位向左產(chǎn)生進位,小于時,其結(jié)果的最高位向左產(chǎn)生進位,小于10時則不產(chǎn)時則不產(chǎn)生進位。這一特點有利于實現(xiàn)生進位。這一特點有利
20、于實現(xiàn)“逢十進位逢十進位”的計數(shù)和加法的計數(shù)和加法規(guī)則。規(guī)則。n(2) 對于對于2421碼、碼、5211碼、碼、4311碼和碼和84-2-1碼,任何兩個十碼,任何兩個十進制數(shù)位,采用這四種編碼的任何一種編碼,它們相加其進制數(shù)位,采用這四種編碼的任何一種編碼,它們相加其和等于和等于9時,即它們的二進制編碼位互為反碼,則其結(jié)果時,即它們的二進制編碼位互為反碼,則其結(jié)果的四個二進制位一定是的四個二進制位一定是1111,能較好地體現(xiàn)十進制的按,能較好地體現(xiàn)十進制的按9 取補與二進制的按取補與二進制的按1取補的對應(yīng)關(guān)系,這對減法很有用。取補的對應(yīng)關(guān)系,這對減法很有用。23242.1.3 BCD碼碼n二二
21、十進制(十進制(BCD)無權(quán)碼)無權(quán)碼 無權(quán)碼中,用的較多的是余無權(quán)碼中,用的較多的是余3碼碼(Excess-3 code)和格雷碼和格雷碼(Gray code),格雷碼又稱循環(huán)碼。,格雷碼又稱循環(huán)碼。1. 余余3碼碼 (1) 余余3碼是在碼是在8421碼的基礎(chǔ)上,把每個代碼都加上碼的基礎(chǔ)上,把每個代碼都加上0011而形成的。而形成的。 (2) 普通普通8421碼的加法器仍能為余碼的加法器仍能為余3碼加法器直接利用,具體規(guī)則如碼加法器直接利用,具體規(guī)則如下:下: (A)若兩個十進制數(shù)的余)若兩個十進制數(shù)的余3碼相加,如果結(jié)果不產(chǎn)生進位,則從所碼相加,如果結(jié)果不產(chǎn)生進位,則從所得和值去減得和值去
22、減0011,便得十進制位和的余,便得十進制位和的余3碼。碼。 (B)若兩個十進制數(shù)的余)若兩個十進制數(shù)的余3碼相加,如果結(jié)果有進位,則其進位正碼相加,如果結(jié)果有進位,則其進位正確,確, 但需將所得和值加上但需將所得和值加上0011,才求得十進制數(shù)和的余,才求得十進制數(shù)和的余3碼。碼。252.1.3 BCD碼碼n2.格雷碼格雷碼n格雷碼格雷碼(Gray code)是一種無權(quán)碼,采用絕對編碼方式,是一種無權(quán)碼,采用絕對編碼方式,n格雷碼屬于可靠性編碼,是一種錯誤最小化的編碼方式格雷碼屬于可靠性編碼,是一種錯誤最小化的編碼方式n其中的所有相鄰整數(shù)在它們的數(shù)字表示中只有一個數(shù)字不其中的所有相鄰整數(shù)在它
23、們的數(shù)字表示中只有一個數(shù)字不同。它在任意兩個相鄰的數(shù)之間轉(zhuǎn)換時,只有一個數(shù)位發(fā)同。它在任意兩個相鄰的數(shù)之間轉(zhuǎn)換時,只有一個數(shù)位發(fā)生變化。由于最大數(shù)與最小數(shù)之間也僅一個數(shù)不同,故通生變化。由于最大數(shù)與最小數(shù)之間也僅一個數(shù)不同,故通常又叫循環(huán)碼或反射碼常又叫循環(huán)碼或反射碼 。262.1.3 BCD碼碼n5、二進制碼與格雷碼轉(zhuǎn)換、二進制碼與格雷碼轉(zhuǎn)換n二進制碼二進制碼-格雷碼格雷碼(編碼):(編碼):n從最右邊一位起,依次將每一位與左邊一位異或從最右邊一位起,依次將每一位與左邊一位異或(XOR),作為,作為對應(yīng)格雷碼該位的值,最左邊一位不變對應(yīng)格雷碼該位的值,最左邊一位不變(相當(dāng)于左邊是相當(dāng)于左邊是
24、0); n格雷碼格雷碼-二進制碼(解碼):二進制碼(解碼):n從左邊第二位起,將每位與左邊一位解碼后的值異或,作為該從左邊第二位起,將每位與左邊一位解碼后的值異或,作為該位解碼后的值(最左邊一位依然不變)位解碼后的值(最左邊一位依然不變). 272.1.3 BCD碼碼n6、常用、常用BCD碼碼282.1.3 BCD碼碼n7、“ 8421”BCD碼加法運算碼加法運算 BCD碼運算應(yīng)將每碼運算應(yīng)將每4位二進制數(shù)分為一組,組與組之間直位二進制數(shù)分為一組,組與組之間直接運算,逢十進一。但計算機中無法區(qū)分接運算,逢十進一。但計算機中無法區(qū)分BCD碼,一概碼,一概作為二進制數(shù)處理,因此,計算機做此運算后須
25、進行調(diào)整作為二進制數(shù)處理,因此,計算機做此運算后須進行調(diào)整。 調(diào)整方法:調(diào)整方法:和和9 (1001)2, 不調(diào)整不調(diào)整和和9 (1001)2 , 加加6 (0110)2修正修正292.1.3 BCD碼碼302.1.3 BCD碼碼n校正算法校正算法算法:算法: 1 每位數(shù)相加,遵循每位數(shù)相加,遵循“逢二進一逢二進一”的原則的原則 2 和是和是1015時,必須加時,必須加6矯正矯正 3 和有進位時,必須加和有進位時,必須加6校正校正例如:例如:28+9=37 0 0 1 0 1 0 0 0+ 1 1 0 0 1 0 0 1 1 1 0 0 0 1+ 0 1 1 0 校正值校正值 0 0 1 1
26、0 1 1 1312.1.3 BCD碼碼 1&Xi3Yi3 Xi2Yi2 Xi1Yi1 Xi0Yi0 Si3 Si2 Si1 Si0Ci+1Ci Si3 Si2 Si1 Si0C i+1二進制二進制加法加法十進制校十進制校正正322.1.4 字符與字符串字符與字符串n1、字符表示法字符表示法n符號數(shù)據(jù):字符信息用數(shù)據(jù)表示,如符號數(shù)據(jù):字符信息用數(shù)據(jù)表示,如ASCII等;等;n目前國際上普遍采用的字符系統(tǒng)是七單位的目前國際上普遍采用的字符系統(tǒng)是七單位的ASCII碼碼(美美國國家信息交換標(biāo)準(zhǔn)字符碼國國家信息交換標(biāo)準(zhǔn)字符碼),它包括它包括10個十進制數(shù)碼,個十進制數(shù)碼,26個英文字母和一定數(shù)量的專用
27、符號,如個英文字母和一定數(shù)量的專用符號,如$,%,等,等,共,共128個元素,因此二進制編碼需個元素,因此二進制編碼需7位,加一位偶校驗位位,加一位偶校驗位,共,共8位一個字節(jié)。位一個字節(jié)。332.1.4 字符與字符串字符與字符串nASCII字符編碼表字符編碼表0000010100111001011101110000NUL DLESP0Pp0001SOH DC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111DELETB7GWgw1000BSCAN8HXhx100
28、1HTEM(9IYiy1010LFSUB):JZjz1011VTESC*;Kk1100FFFS+Nn1111SIUS/?O_oDEL342.1.4 字符與字符串字符與字符串n2.2.字符串字符串 指連續(xù)的一串字符指連續(xù)的一串字符, ,通常方式下通常方式下, ,它們占用主存中連續(xù)它們占用主存中連續(xù)的多個字節(jié)的多個字節(jié), ,每個字節(jié)存一個字符。當(dāng)主存字由每個字節(jié)存一個字符。當(dāng)主存字由2 2個或個或4 4個個字節(jié)組成時字節(jié)組成時, ,在同一個主存字中在同一個主存字中, ,既可按從低位字節(jié)向高位既可按從低位字節(jié)向高位字節(jié)的順序存放字符串的內(nèi)容字節(jié)的順序存放字符串的內(nèi)容, ,也可按從高位字節(jié)向低位也可按
29、從高位字節(jié)向低位字節(jié)的次序順序存放字符串的內(nèi)容。字節(jié)的次序順序存放字符串的內(nèi)容。352.1.4 字符與字符串字符與字符串例:將字符串:例:將字符串:IF AB THEN C 從高位字節(jié)到低位字節(jié)依次存在主存中。從高位字節(jié)到低位字節(jié)依次存在主存中。 設(shè)主存單元長度由設(shè)主存單元長度由4個字節(jié)組成。每個字節(jié)中存放相個字節(jié)組成。每個字節(jié)中存放相應(yīng)字符的應(yīng)字符的ASCII值,文字表達(dá)式中的空格值,文字表達(dá)式中的空格“ ”在主存中在主存中也占一個字節(jié)的位置。因而每個字節(jié)分別存放十進制的也占一個字節(jié)的位置。因而每個字節(jié)分別存放十進制的73、70、32、65、66、32、84、72、69、78、32、67。
30、主存 I F 空 A B 空 T H E N 空 C362.1.4 字符與字符串字符與字符串n3、漢字的表示方法、漢字的表示方法n漢字的輸入編碼漢字的輸入編碼當(dāng)前采用的方法主要有以下三類當(dāng)前采用的方法主要有以下三類: 數(shù)字編碼數(shù)字編碼 常用的是國標(biāo)區(qū)位碼常用的是國標(biāo)區(qū)位碼,用數(shù)字串代表一個漢字輸入用數(shù)字串代表一個漢字輸入。區(qū)位碼是將國家標(biāo)準(zhǔn)局公布的。區(qū)位碼是將國家標(biāo)準(zhǔn)局公布的6763個兩級漢字分為個兩級漢字分為94個個區(qū)區(qū),每個區(qū)分每個區(qū)分94位位,實際上把漢字表示成二維數(shù)組實際上把漢字表示成二維數(shù)組,每個漢字每個漢字在數(shù)組中的下標(biāo)就是區(qū)位碼。區(qū)碼和位碼各兩位十進制數(shù)在數(shù)組中的下標(biāo)就是區(qū)位碼。
31、區(qū)碼和位碼各兩位十進制數(shù)字字,因此輸入一個漢字需按鍵四次。因此輸入一個漢字需按鍵四次。數(shù)字編碼輸入的優(yōu)點是無重碼數(shù)字編碼輸入的優(yōu)點是無重碼,且輸入碼與內(nèi)部編碼的轉(zhuǎn)且輸入碼與內(nèi)部編碼的轉(zhuǎn)換比較方便換比較方便,缺點是代碼難以記憶。缺點是代碼難以記憶。拼音碼拼音碼 拼音碼是以漢字拼音為基礎(chǔ)的輸入方法。使用簡單拼音碼是以漢字拼音為基礎(chǔ)的輸入方法。使用簡單方便,但漢字同音字太多方便,但漢字同音字太多,輸入重碼率很高輸入重碼率很高,同音字選擇影同音字選擇影響了輸入速度。響了輸入速度。字形編碼字形編碼 字形編碼是用漢字的形狀來進行的編碼。把漢字字形編碼是用漢字的形狀來進行的編碼。把漢字的筆劃部件用字母或數(shù)字
32、進行編碼的筆劃部件用字母或數(shù)字進行編碼,按筆劃的順序依次輸按筆劃的順序依次輸入入,就能表示一個漢字就能表示一個漢字37382.1.4 字符與字符串字符與字符串 漢字內(nèi)碼:漢字內(nèi)碼:是用于漢字信息的存儲、交換、檢索等操作的機內(nèi)是用于漢字信息的存儲、交換、檢索等操作的機內(nèi)代碼代碼,一般采用兩個字節(jié)表示。英文字符的機內(nèi)代碼是七位的一般采用兩個字節(jié)表示。英文字符的機內(nèi)代碼是七位的ASCII碼碼,當(dāng)用一個字節(jié)表示時當(dāng)用一個字節(jié)表示時,最高位為最高位為“0”。為了與英文字符。為了與英文字符能相互區(qū)別能相互區(qū)別,漢字機內(nèi)代碼中兩個字節(jié)的最高位均規(guī)定為漢字機內(nèi)代碼中兩個字節(jié)的最高位均規(guī)定為“1”。 字模碼字模
33、碼是用點陣表示的漢字字形代碼是用點陣表示的漢字字形代碼,它是漢字的輸出形它是漢字的輸出形式。式。n漢字的輸入編碼、漢字內(nèi)碼、字模碼是計算機中用于輸入漢字的輸入編碼、漢字內(nèi)碼、字模碼是計算機中用于輸入、內(nèi)部處理、輸出三種不同用途的編碼。、內(nèi)部處理、輸出三種不同用途的編碼。n漢字字模碼漢字字模碼392.1.4 字符與字符串字符與字符串402.1.5 校驗碼校驗碼n 二進制數(shù)據(jù)經(jīng)過傳送、存取等環(huán)節(jié),會發(fā)生誤碼(二進制數(shù)據(jù)經(jīng)過傳送、存取等環(huán)節(jié),會發(fā)生誤碼(1變變成成0或或0變成變成1),這就有如何發(fā)現(xiàn)及糾正誤碼的問題。所),這就有如何發(fā)現(xiàn)及糾正誤碼的問題。所有解決此類問題的方法就是在原始數(shù)據(jù)(數(shù)碼位)
34、基礎(chǔ)上有解決此類問題的方法就是在原始數(shù)據(jù)(數(shù)碼位)基礎(chǔ)上增加幾位校驗(冗余)位。增加幾位校驗(冗余)位。n1、碼距、碼距n 一個編碼系統(tǒng)中任意兩個合法編碼(碼字)之間不同一個編碼系統(tǒng)中任意兩個合法編碼(碼字)之間不同的二進數(shù)位(的二進數(shù)位(bit)數(shù)叫這兩個碼字的碼距,而整個編碼)數(shù)叫這兩個碼字的碼距,而整個編碼系統(tǒng)中任意兩個碼字的的最小距離就是該編碼系統(tǒng)的碼距系統(tǒng)中任意兩個碼字的的最小距離就是該編碼系統(tǒng)的碼距。412.1.5 校驗碼校驗碼n如表所示的一個編碼系統(tǒng),用三個如表所示的一個編碼系統(tǒng),用三個bitbit來表示八個不同信來表示八個不同信息中。息中。信息序號信息序號二進碼字二進碼字a2a
35、1a000001001201030114100510161107111 在這個系統(tǒng)中,兩個碼字之間不在這個系統(tǒng)中,兩個碼字之間不同的同的bit數(shù)從數(shù)從1到到3不等,但最小值為不等,但最小值為1,故這個系統(tǒng)的碼距為,故這個系統(tǒng)的碼距為1。如果任。如果任何碼字中一位或多位被顛倒了,結(jié)何碼字中一位或多位被顛倒了,結(jié)果這個碼字就不能與其它有效信息果這個碼字就不能與其它有效信息區(qū)分開。區(qū)分開。 如果傳送信息如果傳送信息001,而被誤收為,而被誤收為011,因,因011仍是表中的合法碼字,仍是表中的合法碼字,接收機仍將認(rèn)為接收機仍將認(rèn)為011是正確的信息是正確的信息。 422.1.5 校驗碼校驗碼n如果用
36、四個二進數(shù)字來編如果用四個二進數(shù)字來編8 8個碼字,那么在碼字間的最小個碼字,那么在碼字間的最小距離可以增加到距離可以增加到2 2信息序號信息序號二進碼字二進碼字a3a2a1a000000110012101030011411005010160110711118個碼字相互間最少有兩個碼字相互間最少有兩bit的差異。因此,的差異。因此,如果任何信息的一個數(shù)位被顛倒,就成為如果任何信息的一個數(shù)位被顛倒,就成為一個不用的碼字,接收機能檢查出來。例一個不用的碼字,接收機能檢查出來。例如信息是如信息是1001,誤收為,誤收為1011,接收機知道,接收機知道發(fā)生了一個差錯,因為發(fā)生了一個差錯,因為1011不
37、是一個碼字不是一個碼字(表中沒有)。然而,差錯不能被糾正。(表中沒有)。然而,差錯不能被糾正。假定只有一個數(shù)位是錯的,正確碼字可以假定只有一個數(shù)位是錯的,正確碼字可以是是1001,1111,0011或或1010。接收者不能。接收者不能確定原來到底是這確定原來到底是這4個碼字中的那一個。個碼字中的那一個。也可看到,也可看到, 在這個系統(tǒng)中,偶數(shù)個(在這個系統(tǒng)中,偶數(shù)個(2或或4)差錯也無法發(fā)現(xiàn)。差錯也無法發(fā)現(xiàn)。 432.1.5 校驗碼校驗碼n為了使一個系統(tǒng)能檢查和糾正一個為了使一個系統(tǒng)能檢查和糾正一個差錯,碼間最小距離必須至少是差錯,碼間最小距離必須至少是“3”。最小距離為。最小距離為3時,或能
38、糾正一時,或能糾正一個錯,或能檢二個錯,但不能同時個錯,或能檢二個錯,但不能同時糾一個錯和檢二個錯。編碼信息糾糾一個錯和檢二個錯。編碼信息糾錯和檢錯能力的進一步提高需要進錯和檢錯能力的進一步提高需要進一步增加碼字間的最小距離。一步增加碼字間的最小距離。 n右表概括了最小距離為右表概括了最小距離為1至至7的碼的的碼的糾錯和檢錯能力。糾錯和檢錯能力。碼距碼距碼碼 能能 力力檢錯檢錯 糾錯糾錯12345670 01 02 或或 12 加加 12 加加 23 加加 23 加加 3 碼距越大,糾錯能力越強,但數(shù)據(jù)冗余也越大,即編碼效率低了碼距越大,糾錯能力越強,但數(shù)據(jù)冗余也越大,即編碼效率低了。所以,選
39、擇碼距要取決于特定系統(tǒng)的參數(shù)。所以,選擇碼距要取決于特定系統(tǒng)的參數(shù)。 442.1.5 校驗碼校驗碼n2、奇偶校驗、奇偶校驗n 奇偶校驗碼是一種通過增加冗余位使得碼字中奇偶校驗碼是一種通過增加冗余位使得碼字中“1”的個的個數(shù)恒為奇數(shù)或偶數(shù)的編碼方法數(shù)恒為奇數(shù)或偶數(shù)的編碼方法,它是一種它是一種檢錯碼檢錯碼。例如,。例如,單個的奇偶校驗將使碼的最小距離由一增加到二。單個的奇偶校驗將使碼的最小距離由一增加到二。n 一個二進制碼字,如果它的碼元有奇數(shù)個一個二進制碼字,如果它的碼元有奇數(shù)個1,就稱為具有,就稱為具有奇性。例如,奇性。例如, “10110101”有五個有五個1。同樣,偶性碼字具。同樣,偶性碼
40、字具有偶數(shù)個有偶數(shù)個1。n奇性檢測等效于所有碼元的奇性檢測等效于所有碼元的模二加模二加,并能夠由所有碼元的,并能夠由所有碼元的異或運算異或運算來確定。來確定。452.1.5 校驗碼校驗碼n 對于一個對于一個n位字,奇性由下式給出:位字,奇性由下式給出: n 奇性奇性=a0 a1 a2 an n 奇偶校驗可描述為:給每一個碼字加一個校驗位,用它奇偶校驗可描述為:給每一個碼字加一個校驗位,用它來構(gòu)成奇性或偶性校驗。來構(gòu)成奇性或偶性校驗。 n 奇偶校驗編碼通過增加一位校驗位來使編碼中奇偶校驗編碼通過增加一位校驗位來使編碼中1的個數(shù)為的個數(shù)為奇數(shù)(奇校驗)或者為偶數(shù)(偶校驗),從而使碼距變?yōu)槠鏀?shù)(奇校
41、驗)或者為偶數(shù)(偶校驗),從而使碼距變?yōu)?。因為其利用的是編碼中。因為其利用的是編碼中1的個數(shù)的奇偶性作為依據(jù),所的個數(shù)的奇偶性作為依據(jù),所以不能發(fā)現(xiàn)偶數(shù)位錯誤。以不能發(fā)現(xiàn)偶數(shù)位錯誤。462.1.5 校驗碼校驗碼n數(shù)字?jǐn)?shù)字0的七位的七位ASCII碼(碼(0110000)n如果傳送后右邊第一位出錯,如果傳送后右邊第一位出錯,0變成變成1。接收端還認(rèn)為是一。接收端還認(rèn)為是一個合法的代碼個合法的代碼0110001(數(shù)字(數(shù)字1的的ASCII碼)。若在最左邊碼)。若在最左邊加一位奇校驗位,編碼變?yōu)榧右晃黄嫘r炍?,編碼變?yōu)?0110000,如果傳送后右邊第,如果傳送后右邊第一位出錯,則變成一位出錯,則變
42、成10110001,1的個數(shù)變成偶數(shù),就不是的個數(shù)變成偶數(shù),就不是合法的奇校驗碼了。合法的奇校驗碼了。n但若有兩位(假設(shè)是第但若有兩位(假設(shè)是第1、2位)出錯就變成位)出錯就變成10110011,1的個數(shù)為的個數(shù)為5,還是奇數(shù)。接收端還認(rèn)為是一個合法的代碼,還是奇數(shù)。接收端還認(rèn)為是一個合法的代碼(數(shù)字(數(shù)字3的的ASCII碼)。所以奇偶校驗不能發(fā)現(xiàn)。碼)。所以奇偶校驗不能發(fā)現(xiàn)。 472.1.5 校驗碼校驗碼n分組(縱橫)奇偶校驗碼分組(縱橫)奇偶校驗碼n 實際工作中還經(jīng)常采用縱橫都加校驗奇偶校驗位的編碼系統(tǒng)實際工作中還經(jīng)常采用縱橫都加校驗奇偶校驗位的編碼系統(tǒng)-分組分組奇偶校驗碼奇偶校驗碼 n
43、n個信息的一個分組排列成矩形式樣,并以橫向奇偶(個信息的一個分組排列成矩形式樣,并以橫向奇偶(HP)及縱)及縱向奇偶(向奇偶(VP)的形式編出奇偶校驗位。)的形式編出奇偶校驗位。 m位數(shù)字位數(shù)字橫向奇偶位橫向奇偶位n個個碼碼字字a1a2am-1amHP1b1b2bm-1bmHP2c1c2cm-1cmHP3n1n2nm-1nmHPnVP1VP2VPm-1VPmHPn+1縱向奇偶位縱向奇偶位482.1.5 校驗碼校驗碼n分組奇偶校驗碼不僅能檢測許多形式的錯誤。并且在給分組奇偶校驗碼不僅能檢測許多形式的錯誤。并且在給定的行或列中產(chǎn)生孤立的錯誤時,還可對該錯誤進行糾定的行或列中產(chǎn)生孤立的錯誤時,還可對
44、該錯誤進行糾正。正。n例題:由例題:由 6 個字符的個字符的 7 位位 ASCII 編碼排列,再加上水平編碼排列,再加上水平垂直奇偶校驗位構(gòu)成下列矩陣(最后一列為水平奇偶校垂直奇偶校驗位構(gòu)成下列矩陣(最后一列為水平奇偶校驗位,最后一行為垂直奇偶校驗位)驗位,最后一行為垂直奇偶校驗位): 492.1.5 校驗碼校驗碼X121X1111100VP11X10111X90=0X801X7001D1111X6X510Y20110101X4+1X3001001Y101100X2X103HP7 位 ASCII 碼字符n則則 X1 X2 X3 X4 處的比特分別為處的比特分別為 ;n X5 X6 X7 X8
45、處的比特分別為處的比特分別為 ;n X9 X10 X11 X12 處的比特分別為處的比特分別為 ;nY1 和和 Y2 處的字符分別為處的字符分別為 和和 。111010001011I7502.1.5 校驗碼校驗碼-海明碼海明碼n3 3、海明校驗碼、海明校驗碼n 海明碼是一種多重海明碼是一種多重( (復(fù)式復(fù)式) )奇偶檢錯系統(tǒng)。它將信息用奇偶檢錯系統(tǒng)。它將信息用邏輯形式編碼,以便能夠檢錯和糾錯。海明碼的傳輸碼字邏輯形式編碼,以便能夠檢錯和糾錯。海明碼的傳輸碼字是由信息和校驗位組成的。每一個這種奇偶位被編在傳輸是由信息和校驗位組成的。每一個這種奇偶位被編在傳輸碼字的特定位置上。碼字的特定位置上。n
46、實現(xiàn)得合適時,這個系統(tǒng)對于錯誤的數(shù)位無論是原有信息實現(xiàn)得合適時,這個系統(tǒng)對于錯誤的數(shù)位無論是原有信息位中的,還是附加校驗位中的都能把它分離出來。位中的,還是附加校驗位中的都能把它分離出來。512.1.5 校驗碼校驗碼-海明碼海明碼n推導(dǎo)并使用長度為推導(dǎo)并使用長度為m位的碼字的海明碼,所需步驟如下:位的碼字的海明碼,所需步驟如下:n1、確定最小的校驗位數(shù)、確定最小的校驗位數(shù)k,將它們記成,將它們記成D1、D2、Dk,每個校驗位符合不同的奇偶測試規(guī)定。,每個校驗位符合不同的奇偶測試規(guī)定。 n2、原有信息和、原有信息和k個校驗位一起編成長為個校驗位一起編成長為m+k位的新碼字。位的新碼字。選擇選擇k
47、個校驗位(個校驗位(0或或1)以滿足必要的奇偶條件。)以滿足必要的奇偶條件。 n3、對所接收的信息作所需的、對所接收的信息作所需的k個奇偶檢查。個奇偶檢查。 n4、如果所有的奇偶檢查結(jié)果均為正確的,則認(rèn)為信息無、如果所有的奇偶檢查結(jié)果均為正確的,則認(rèn)為信息無錯誤。錯誤。 n如果發(fā)現(xiàn)有一個或多個錯了,則錯誤的位由這些檢查的結(jié)如果發(fā)現(xiàn)有一個或多個錯了,則錯誤的位由這些檢查的結(jié)果來唯一地確定。果來唯一地確定。 522.1.5 校驗碼校驗碼-海明碼海明碼n校驗位的位數(shù)校驗位的位數(shù)n推求海明碼時的一項基本考慮是確定所需最少的校驗位數(shù)推求海明碼時的一項基本考慮是確定所需最少的校驗位數(shù)k??紤]長度為考慮長度
48、為m位的信息,若附加了位的信息,若附加了k個校驗位,則所發(fā)送的總個校驗位,則所發(fā)送的總長度為長度為m+k。n在接收器中要進行在接收器中要進行k個奇偶檢查,每個檢查結(jié)果或是真或是偽個奇偶檢查,每個檢查結(jié)果或是真或是偽。這個奇偶檢查的結(jié)果可以表示成一個。這個奇偶檢查的結(jié)果可以表示成一個k位的二進字,它可以位的二進字,它可以確定最多確定最多2k種不同狀態(tài)。種不同狀態(tài)。 這些狀態(tài)中必有一個其所有奇偶測試這些狀態(tài)中必有一個其所有奇偶測試都是真的,它便是判定信息正確的條件。于是剩下的(都是真的,它便是判定信息正確的條件。于是剩下的(2k-1)種狀態(tài),可以用來判定誤碼的位置。于是導(dǎo)出下一關(guān)系:種狀態(tài),可以用
49、來判定誤碼的位置。于是導(dǎo)出下一關(guān)系: n 2k-1m+k532.1.5 校驗碼校驗碼-海明碼海明碼n如如m=5,則要求,則要求2k-k5+1=6,根據(jù)計算可以得知,根據(jù)計算可以得知k的最小的最小值為值為4,也就是要校驗,也就是要校驗5位信息碼,則要插入位信息碼,則要插入4位校驗碼。位校驗碼。如果信息碼是如果信息碼是8位,則要求位,則要求2k-k8+1=9,根據(jù)計算可以得,根據(jù)計算可以得知知k的最小值也為的最小值也為4。根據(jù)經(jīng)驗總結(jié),得出信息碼和校驗碼。根據(jù)經(jīng)驗總結(jié),得出信息碼和校驗碼位數(shù)之間的關(guān)系如下所示。位數(shù)之間的關(guān)系如下所示。n 信息碼位數(shù)與校驗碼位數(shù)之間的關(guān)系信息碼位數(shù)與校驗碼位數(shù)之間的
50、關(guān)系信息碼位數(shù)信息碼位數(shù)1245111226275758120121247校驗碼位數(shù)校驗碼位數(shù)2345678542.1.5 校驗碼校驗碼-海明碼海明碼n碼字格式碼字格式n從理論上講,校驗位可放在任何位置,但海明碼將校驗位從理論上講,校驗位可放在任何位置,但海明碼將校驗位被安排在被安排在2n 的位置上。的位置上。 n下圖列出了下圖列出了m=4,k=3時,信息位和校驗位的分布情況。時,信息位和校驗位的分布情況。碼字位置碼字位置B1B2B3B4B5B6B7校驗位校驗位xxx信息位信息位xxx復(fù)合碼字復(fù)合碼字P1P2D1P3D2D3D4x552.1.5 校驗碼校驗碼-海明碼海明碼n校驗位的確定(編碼原
51、理)校驗位的確定(編碼原理)nk個校驗位是通過對個校驗位是通過對m+k位復(fù)合碼字進行奇偶校驗而確定位復(fù)合碼字進行奇偶校驗而確定的。的。n每個校驗位的值代表了代碼字中部分?jǐn)?shù)據(jù)位的奇偶性(最終要每個校驗位的值代表了代碼字中部分?jǐn)?shù)據(jù)位的奇偶性(最終要根據(jù)是采用奇校驗,還是偶校驗來確定),其所在位置決定了根據(jù)是采用奇校驗,還是偶校驗來確定),其所在位置決定了要校驗的比特位序列。總的原則是:第要校驗的比特位序列??偟脑瓌t是:第i位校驗碼從當(dāng)前位開始位校驗碼從當(dāng)前位開始,每次連續(xù)校驗,每次連續(xù)校驗i(這里是數(shù)值(這里是數(shù)值i,不是第,不是第i位,下同)位后再跳位,下同)位后再跳過過i位,然后再連續(xù)校驗位,
52、然后再連續(xù)校驗i位,再跳過位,再跳過i位,以此類推。位,以此類推。n最后根據(jù)所采用的是奇校驗,還是偶校驗即可得出第最后根據(jù)所采用的是奇校驗,還是偶校驗即可得出第i位校驗碼位校驗碼的值的值。 562.1.5 校驗碼校驗碼-海明碼海明碼n校驗碼的具體計算方法如下:校驗碼的具體計算方法如下:n p1(第(第1個校驗位,也是整個碼字的第個校驗位,也是整個碼字的第1位)的校驗規(guī)位)的校驗規(guī)則是:從當(dāng)前位數(shù)起,校驗則是:從當(dāng)前位數(shù)起,校驗1位,然后跳過位,然后跳過1位,再校驗位,再校驗1位,再跳過位,再跳過1位,位,。這樣就可得出。這樣就可得出p1校驗碼位可以校校驗碼位可以校驗的碼字位包括:第驗的碼字位包
53、括:第1位(也就是位(也就是p1本身)、第本身)、第3位、第位、第5位、第位、第7位、第位、第9位、第位、第11位、第位、第13位、第位、第15位,位,。然。然后根據(jù)所采用的是奇校驗,還是偶校驗,最終可以確定該后根據(jù)所采用的是奇校驗,還是偶校驗,最終可以確定該校驗位的值。校驗位的值。n p2(第(第2個校驗位,也是整個碼字的第個校驗位,也是整個碼字的第2位)的校驗規(guī)則位)的校驗規(guī)則是:從當(dāng)前位數(shù)起,連續(xù)校驗是:從當(dāng)前位數(shù)起,連續(xù)校驗2位,然后跳過位,然后跳過2位,再連續(xù)位,再連續(xù)校驗校驗2位,再跳過位,再跳過2位,位,。這樣就可得出。這樣就可得出p2校驗碼位校驗碼位可以校驗的碼字位包括:第可以
54、校驗的碼字位包括:第2位(也就是位(也就是p2本身)、第本身)、第3位,第位,第6位、第位、第7位,第位,第10位、第位、第11位,第位,第14位、第位、第15位,位,。同樣根據(jù)所采用的是奇校驗,還是偶校驗,最終可。同樣根據(jù)所采用的是奇校驗,還是偶校驗,最終可以確定該校驗位的值。以確定該校驗位的值。57582.1.5 校驗碼校驗碼-海明碼海明碼n p3(第(第3個校驗位,也是整個碼字的第個校驗位,也是整個碼字的第4位)的校驗規(guī)則位)的校驗規(guī)則是:從當(dāng)前位數(shù)起,連續(xù)校驗是:從當(dāng)前位數(shù)起,連續(xù)校驗4位,然后跳過位,然后跳過4位,再連續(xù)位,再連續(xù)校驗校驗4位,再跳過位,再跳過4位,位,。這樣就可得出
55、。這樣就可得出p4校驗碼位校驗碼位可以校驗的碼字位包括:第可以校驗的碼字位包括:第4位(也就是位(也就是p4本身)、第本身)、第5位、第位、第6位、第位、第7位,第位,第12位、第位、第13位、第位、第14位、第位、第15位,位,第第20位、第位、第21位、第位、第22位、第位、第23位,位,。同樣根據(jù)所采。同樣根據(jù)所采用的是奇校驗,還是偶校驗,最終可以確定該校驗位的值用的是奇校驗,還是偶校驗,最終可以確定該校驗位的值。n n p4(第(第4個校驗位,也是整個碼字的第個校驗位,也是整個碼字的第8位)的校驗規(guī)則位)的校驗規(guī)則是:從當(dāng)前位數(shù)起,連續(xù)校驗是:從當(dāng)前位數(shù)起,連續(xù)校驗8位,然后跳過位,然
56、后跳過8位,再連續(xù)位,再連續(xù)校驗校驗8位,再跳過位,再跳過8位,位,。這樣就可得出。這樣就可得出p4校驗碼位校驗碼位可以校驗的碼字位包括:第可以校驗的碼字位包括:第8位(也就是位(也就是p4本身)、第本身)、第9位、第位、第10位、第位、第11位、第位、第12位、第位、第13位、第位、第14位、第位、第15位位,第,第24位、第位、第25位、第位、第26位、第位、第27位、第位、第28位、第位、第29位、位、第第30位、第位、第31位,位,。同樣根據(jù)所采用的是奇校驗,還。同樣根據(jù)所采用的是奇校驗,還是偶校驗,最終可以確定該校驗位的值。是偶校驗,最終可以確定該校驗位的值。59602.1.5 校驗
57、碼校驗碼-海明碼海明碼n例如:例如:4位信息碼為位信息碼為1001,根據(jù),根據(jù)2k-1m+k確定K為3,校驗校驗位位置為:位位置為:? ?1 ?001。n先求第先求第1個個“?”(也就是(也就是p1,第,第1位)的值,因為整個碼字長位)的值,因為整個碼字長度為度為7(包括信息碼長和校驗碼長),所以可以得出本示例中(包括信息碼長和校驗碼長),所以可以得出本示例中p1校驗碼校驗的位數(shù)是校驗碼校驗的位數(shù)是1、3、5、7共共4位。這位。這4位中除了第位中除了第1位位(也就是(也就是p1位)不能確定外,其余位)不能確定外,其余3位的值都是已知的,分別位的值都是已知的,分別為:為:1、0、1?,F(xiàn)假設(shè)采用的
58、是偶校驗(也就是要求整個被?!,F(xiàn)假設(shè)采用的是偶校驗(也就是要求整個被校驗的位中的驗的位中的“1”的個數(shù)為偶數(shù)),從已知的的個數(shù)為偶數(shù)),從已知的3位碼值可知,已位碼值可知,已有有2個個“1”,所以此時,所以此時p1位校驗碼的值必須為位校驗碼的值必須為“0”,得出,得出p1=0。 n依次得出另兩個分別是依次得出另兩個分別是0和和1。n 所以海明碼編碼為:所以海明碼編碼為:0011001612.1.5 校驗碼校驗碼-海明碼海明碼n海明碼的差錯檢測海明碼的差錯檢測 :海明碼校驗的方式就是各校驗碼對:海明碼校驗的方式就是各校驗碼對它所校驗的位組進行它所校驗的位組進行“異或運算異或運算”。nP1 負(fù)責(zé)校
59、驗海明碼的第負(fù)責(zé)校驗海明碼的第1、3、5、7、(P1、D1、D2、D4、)位,(包括)位,(包括P1自己)自己)nP2 負(fù)責(zé)校驗海明碼的第負(fù)責(zé)校驗海明碼的第2、3、6、7、(P2、D1、D3、D4、)位,(包括)位,(包括P2自己)自己)nP3 負(fù)責(zé)校驗海明碼的第負(fù)責(zé)校驗海明碼的第4、5、6、7、(P3、D2、D3、D4、)位,(包括)位,(包括P3自己)自己)n622.1.5 校驗碼校驗碼-海明碼海明碼n各校驗碼校驗的碼位對照表各校驗碼校驗的碼位對照表 從表中可以得出以下兩個規(guī)律:從表中可以得出以下兩個規(guī)律: 1)所有校驗碼所在的位是只由對應(yīng)的校驗碼進行校驗,如第)所有校驗碼所在的位是只由對
60、應(yīng)的校驗碼進行校驗,如第1位位(只由(只由p1校驗)、第校驗)、第2位(只由位(只由p2校驗)、第校驗)、第4位(只由位(只由p3校驗)。校驗)。也就是這些位如果發(fā)生了差錯,影響的只是對應(yīng)的校驗碼的校驗結(jié)也就是這些位如果發(fā)生了差錯,影響的只是對應(yīng)的校驗碼的校驗結(jié)果,不會影響其它校驗碼的校驗結(jié)果。果,不會影響其它校驗碼的校驗結(jié)果。 2)所有信息碼位均被至少兩個校驗碼進行了校驗,也就是至少校)所有信息碼位均被至少兩個校驗碼進行了校驗,也就是至少校驗了兩次。驗了兩次。 632.1.5 校驗碼校驗碼-海明碼海明碼n對對m=4,k=3,偶校驗的例子,只要進行,偶校驗的例子,只要進行3次次偶性偶性測試。這
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商貸款擔(dān)保合同
- 二零二五年度餐飲管理輔導(dǎo)合同
- 二零二五年度柜臺品牌授權(quán)與推廣合同
- 茶樓茶藝師勞動合同2025年度與勞動合同簽訂流程
- 二零二五年度影視演員網(wǎng)絡(luò)直播聘用協(xié)議
- 二零二五年度個體店面轉(zhuǎn)讓與市場準(zhǔn)入條件協(xié)議
- 2025年南京貨運從業(yè)資格證考試試題答案大全
- 素質(zhì)教育發(fā)言稿
- 2025年臨夏道路運輸從業(yè)資格證考哪些項目
- 三農(nóng)村合作社與社會組織合作指南
- 20以內(nèi)破十法練習(xí)題-A4打印版
- 安全生產(chǎn)治本攻堅三年行動實施方案(2024-2026年) - 副本
- 物業(yè)公司人員培訓(xùn)及考核方案
- 山東省淄博市2023-2024學(xué)年高一下學(xué)期期末教學(xué)質(zhì)量檢測數(shù)學(xué)試題
- 數(shù)據(jù)中心容災(zāi)備份解決方案
- 七年級下冊第三單元名著導(dǎo)讀《駱駝祥子》公開課一等獎創(chuàng)新教學(xué)設(shè)計(公開課公開課一等獎創(chuàng)新教案及作業(yè)設(shè)計)
- 2025屆新高考生物精準(zhǔn)復(fù)習(xí)+提高農(nóng)作物產(chǎn)量
- 幾何圖形中求線段線段和面積等最值問題 中考數(shù)學(xué)
- 真太陽時調(diào)整
- TD/T 1037-2013 土地整治重大項目可行性研究報告編制規(guī)程(正式版)
- 2024年時政試題庫(奪分金卷)
評論
0/150
提交評論