版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1,中國計算機學會“21世紀大學本科計算機專業(yè)系列教材”計算機組成原理,2,第2章數據的機器層次表示,3,本章學習內容,2.1 數值數據的表示 2.2 機器數的定點表示和浮點表示 2.3 非數值數據的表示 2.4 十進制數和數串的表示 2.5 現代微型計算機中的數據表示舉例 2.6 數據校驗碼,4,本章學習要求,了解:無符號數與帶符號數,真值和機器數等概念 掌握:原碼、補碼、反碼表示法以及三種碼制與真值之間的轉換方法 掌握:定點數和浮點數的表示范圍 理解:浮點數階碼的移碼 了解:IEEE754浮點數標準 掌握:常見的字符編碼方法(ASCII碼)、漢字國標碼、區(qū)位碼、機內碼 掌握:8421碼、2
2、421碼和余3碼 掌握:奇偶校驗位及其形成方法 了解:海明校驗碼和循環(huán)冗余校驗碼,5,2.1 數值數據的表示,數據有無符號數和帶符號數之分。 帶符號數根據其編碼的不同又有 原碼、補碼和反碼3種形式。,6,2.1.1 計算機中的數值數據,二進制數:后綴B 八進制數:后綴Q 十進制數:后綴D或省略后綴 十六進制數:后綴H,7,2.1.2 無符號數和帶符號數,無符號數,就是整個機器字長的全部二進制位均表示數值位(沒有符號位),相當于數的絕對值。例如: N1=01001 表示無符號數9 N2=11001 表示無符號數25 機器字長為n+1位的無符號數的表示范圍是0(2n+1-1),此時二進制的最高位也
3、是數值位,其權值等于2n。若字長為8位,則數的表示范圍為0255。,8,2.1.2 無符號數和帶符號數(續(xù)),用“+”、“-”號加絕對值來表示數值的大小,用這種形式表示的數值在計算機技術中稱為“真值”。 約定二進制數的最高位為符號位,“0”表示正號,“1”表示負號。這種在計算機中使用的表示數的形式稱為機器數。,9,2.1.2 無符號數和帶符號數(續(xù)),常見的機器數有原碼、反碼、補碼等3種不同的表示形式。 帶符號數的最高位被用來表示符號位,而不再表示數值位。 N1=01001 表示+9。 N2=11001 表示9。,10,2.1.3 原碼表示法,原碼表示法是一種最簡單的機器數表示法,用最高位表示
4、符號位,符號位為“0”表示該數為正,符號位為“1”表示該數為負,數值部分與真值相同。 設二進制純小數的原碼形式為Xs.X1X2Xn,字長n+1位,其中Xs表示符號位。 例1:X1=0.0110, X1原=0.0110 X2=-0.0110, X2原=1.0110,11,2.1.3 原碼表示法(續(xù)),設二進制純整數的原碼形式為XsX1X2Xn,其中Xs表示符號位。 例2: X1=1101, X1原=01101 X2=-1101, X2原=11101 在原碼表示中,真值0有兩種不同的表示形式: +0原=00000 -0原=10000,12,補碼的符號位表示方法與原碼相同,其數值部分的表示與數的正負
5、有關:對于正數,數值部分與真值形式相同;對于負數,將真值的數值部分按位取反,且在最低位上加1。 若真值為純小數,它的補碼形式為Xs.X1X2Xn,其中Xs表示符號位。 例5:X1=0.0110, X1補=0.0110 X2=-0.0110, X2補=1.1010,2.1.4 補碼表示法,13,若真值為純整數,它的補碼形式為XsX1X2Xn,其中Xs表示符號位。 例6:X1=1101, X1補=01101 X2=-1101, X2補=10011 在補碼表示中,真值0的表示形式是唯一的: +0補=-0補=00000,2.補碼表示(續(xù)),14,當X為正數時,X補=X原=X 當X為負數時,由X原轉換為
6、X補的方法: X原除掉符號位外的各位取反加“1”。 自低位向高位,尾數的第一個“1”及其右部的“0”保持不變,左部的各位取反,符號位保持不變。 例7:X原 =1.1110011000 X補 =1.0001101000,3.由真值、原碼轉換為補碼,15,2.1.5 反碼表示法,反碼表示法與補碼表示法有許多類似之處,對于正數,數值部分與真值形式相同;對于負數,將真值的數值部分按位取反。 若真值為純小數,它的反碼形式為Xs.X1X2Xn,其中Xs表示符號位。 例9:X1=0.0110, X1反=0.0110 X2=-0.0110, X2反=1.1001,16,2.1.5 反碼表示法(續(xù)),若真值為純
7、整數,它的反碼形式為XsX1X2Xn,其中Xs表示符號位。 例10:X1=1101, X1補=01101 X2=-1101, X2補=10010 在反碼表示中,真值0也有兩種不同的表示形式: +0反=00000 -0反=11111,17,1.比較 對于正數它們都等于真值本身,而對于負數各有不同的表示。 最高位都表示符號位,補碼和反碼的符號位可作為數值位的一部分看待,和數值位一起參加運算;但原碼的符號位不允許和數值位同等看待,必須分開進行處理。 對于真值0,原碼和反碼各有兩種不同的表示形式,而補碼只有唯一的一種表示形式。 原碼、反碼表示的正、負數范圍相對零來說是對稱的;但補碼負數表示范圍較正數表
8、示范圍寬,能多表示一個最負的數(絕對值最大的負數),其值等于-2n(純整數)或-1(純小數)。,2.1.6 三種碼制的比較與轉換,18,真值與3種機器數間的對照,19,2.轉換,如果已知機器的字長,則機器數的位數應補夠相應的位。例如,設機器字長為8位,則: X1=1011 X2=-1011 X1原=00001011 X2原=10001011 X1補=00001011 X2補=11110101 X1反=00001011 X2反=11110100 X3=0.1011 X4=-0.1011 X3原=0.1011000 X4原=1.1011000 X3補=0.1011000 X4補=1.0101000
9、 X3反=0.1011000 X4反=1.0100111,20,2.2 機器數的定點表示與浮點表示,計算機在進行算術運算時,需要指出小數點的位置。根據小數點的位置是否固定,在計算機中有兩種數據格式:定點表示和浮點表示。,21,2.2.1 定點表示法,在定點表示法中約定:所有數據的小數點位置固定不變。 1.定點小數 小數點的位置固定在最高有效數位之前,符號位之后,記作Xs.X1X2Xn,這個數是一個純小數。定點小數的小數點位置是隱含約定的,小數點并不需要真正地占據一個二進制位。,22,定點小數表示范圍,圖2-2 定點小數格式 當Xs=0,X1Xn=1時,X為最大正數。 X最大正數 =1-2-n
10、當Xn=1,XsXn-1=0時,X為最小正數。 X最小正數 =2-n,23,定點小數表示范圍(續(xù)),當Xs=1,表示X為負數,此時情況要稍微復雜一些,這是因為在計算機中帶符號數可用補碼表示,也可用原碼表示。原碼和補碼的表示范圍有一些差別。 若機器數為原碼表示,當XsXn均等于1時,X為絕對值最大的負數。 X絕對值最大負數=-(1-2-n) 若機器數為補碼表示,當Xs=1,X1Xn均等于0時,X為絕對值最大的負數。 X絕對值最大負數=-1,24,若機器字長有n+1位,則有: 原碼定點小數表示范圍: -(1-2-n)(1-2-n) 補碼定點小數表示范圍: -1(1-2-n) 若機器字長有8位,則有
11、: 原碼定點小數表示范圍: - 補碼定點小數表示范圍: -1,定點小數表示范圍(續(xù)),25,2.定點整數,定點整數即純整數,小數點位置隱含固定在最低有效數位之后,記作XsX1X2Xn。 圖2-3 定點整數格式,26,若機器字長有n+1位,則有: 原碼定點整數的表示范圍: -(2n-1)(2n-1) 補碼定點整數的表示范圍: -2n (2n-1) 若機器字長有8位,則有: 原碼定點整數表示范圍: -127127 補碼定點整數表示范圍: -128127,定點整數表示范圍,27,小數點的位置根據需要而浮動,這就是浮點數。例如: N=MrE 式中:r為浮點數階碼的底,與尾數的基數相同,通常r=2。E和
12、M都是帶符號數,E叫做階碼,M叫做尾數。在大多數計算機中,尾數為純小數,常用原碼或補碼表示;階碼為純整數,常用移碼或補碼表示。,2.2.2 浮點表示法,28,圖2-5 浮點數的一般格式 浮點數的底是隱含的,在整個機器數中不出現。階碼的符號位為es,階碼的大小反映了在數N中小數點的實際位置;尾數的符號位為ms,它是整個浮點數的符號位,表示了該浮點數的正負。,浮點數的一般格式,29,1.浮點數的表示范圍,當es=0,ms=0,階碼和尾數的數值位各位全為1(即階碼和尾數都為最大正數)時,該浮點數為最大正數: X最大正數=(1-2-n) 當es=1,ms=0,尾數的最低位mn=1,其余各位為0(即階碼
13、為絕對值最大的負數,尾數為最小正數)時,該浮點數為最小正數: X最小正數=2-n,30,1.浮點數的表示范圍(續(xù)),當es=0,階碼的數值位為全1;ms=1,尾數的數值位為全0(即階碼為最大正數,尾數為絕對值最大的負數)時,該浮點數為絕對值最大負數: X絕對值最大負數= -1,31,為了提高運算的精度,需要充分地利用尾數的有效數位,通常采取浮點數規(guī)格化形式,即規(guī)定尾數的最高數位必須是一個有效值。 1/2 |M| 1,2.規(guī)格化浮點數,32,2.規(guī)格化浮點數(續(xù)),在尾數用補碼表示時,規(guī)格化浮點數應滿足尾數最高數位與符號位不同(msm1 =1),即當1/2M1時,應有0.1xxx形式,當-1M-
14、1/2時,應有1.0 xxx形式。 需要注意的是當M=-1/2,對于原碼來說,是規(guī)格化數,而對于補碼來說,不是規(guī)格化數。,33,2.規(guī)格化浮點數(續(xù)),當es=1,ms=0,尾數的最高位m1=1,其余各位為0時,該浮點數為規(guī)格化的最小正數: X規(guī)格化的最小正數=2-1 規(guī)格化的最小正數大于非規(guī)格化的最小正數。,34,浮點數的典型值,35,2.2.3 移碼表示法,移碼就是在真值X上加一個常數(偏置值),相當于X在數軸上向正方向平移了一段距離,這就是“移碼”一詞的來由。 X移=偏置值+X 對于字長8位的定點整數,偏置值為27。 例11:X=1011101 X移=27+X=10000000+1011
15、101=11011101 X補=01011101 例12:X=-1011101 X移= 27 +X=10000000-1011101=00100011 X補=10100011,36,偏置值為27的移碼、補碼和真值之間的關系,37,偏置值為2n的移碼的特點,在移碼中,最高位為“0”表示負數,最高位為“1”表示正數。 移碼為全0時,它所對應的真值最小,為全1時,它所對應的真值最大。 真值0在移碼中的表示形式是唯一的,即+0移=-0移=1000。 移碼把真值映射到一個正數域,所以可將移碼視為無符號數,直接按無符號數規(guī)則比較大小。 同一數值的移碼和補碼除最高位相反外,其他各位相同。,38,浮點數的階碼
16、采用移碼的原因,便于比較浮點數的大小。階碼大的,其對應的真值就大,階碼小的,對應的真值就小。 簡化機器中的判零電路。當階碼全為0,尾數也全為0時,表示機器零。,39,1.定點、浮點表示法的區(qū)別 數值的表示范圍 假設定點數和浮點數的字長相同,浮點表示法所能表示的數值范圍將遠遠大于定點數。 精度 對于字長相同的定點數和浮點數來說,浮點數雖然擴大了數的表示范圍,但這正是以降低精度為代價的,也就是數軸上各點的排列更稀疏了。,2.2.4 定點、浮點表示法和定點、浮點計算機,40,數的運算 浮點運算要比定點運算復雜得多。 溢出處理 在定點運算時,當運算結果超出數的表示范圍,就發(fā)生溢出。而在浮點運算時,運算
17、結果超出尾數的表示范圍卻并不一定溢出,只有當階碼超出所能表示的范圍時,才發(fā)生溢出。,1.定點、浮點表示法的區(qū)別(續(xù)),41,2.定點機與浮點機,通??梢詫⒂嬎銠C分為幾檔: 定點機 以定點運算為主,浮點運算是通過軟件來實現的。 定點機浮點運算部件 浮點運算部件是專門用于對浮點數進行運算的部件。 浮點機 具有浮點運算指令和基本的浮點運算器。,42,圖2-6 IEEE 754標準的浮點數格式,2.2.6 實用浮點數舉例,43,IEEE754標準的浮點數,以短浮點數為例討論浮點代碼與其真值之間的關系。最高位為數符位;其后是8位階碼,以2為底,階碼的偏置值為127;其余23位是尾數。為了使尾數部分能表示
18、更多一位的有效值,IEEE754采用隱含尾數最高數位1(即這一位1不表示出來)的方法,因此尾數實際上是24位。應注意的是,隱含的1是一位整數(即位權為20),在浮點格式中表示出來的23位尾數是純小數,并用原碼表示。,44,IEEE754標準的浮點數(續(xù)),例13:將(100.25)10轉換成短浮點數格式。 十進制數二進制數 (100.25)10=(1100100.01)2 非規(guī)格化數規(guī)格化數 1100100.01=1.1001000126 計算移碼表示的階碼(偏置值階碼真值) 1111111+110=10000101 以短浮點數格式存儲該數。 符號位=0 階碼=10000101 尾數=1001
19、0001000000000000000,45,IEEE754標準的浮點數(續(xù)),短浮點數代碼為 0;100 0010 1;100 1000 1000 0000 0000 0000 表示為十六進制的代碼:42C88000H。 例14:把短浮點數C1C90000H轉換成為十進制數。 十六進制二進制形式,并分離出符號位、階碼和尾數。 C1C90000H= 1;10000011;10010010000000000000000,46,IEEE754標準的浮點數(續(xù)), 計算出階碼真值(移碼偏置值) 10000011-1111111=100 以規(guī)格化二進制數形式寫出此數 1.100100124 寫成非規(guī)格
20、化二進制數形式 11001.001 轉換成十進制數,并加上符號位。 (11001.001)2=(25.125)10 所以,該浮點數=-25.125,47,2.3 非數值數據的表示,非數值數據,又稱為字符數據,通常是指字符、字符串、圖形符號和漢字等各種數據,它們不用來表示數值的大小,一般情況下不對它們進行算術運算。,48,2.3.1 字符和字符串的表示,1.ASCII字符編碼 常見的ASCII碼用七位二進制表示一個字符,它包括10個十進制數字(09)、52個英文大寫和小寫字母(AZ,az)、34個專用符號和32個控制符號,共計128個字符。 在計算機中,通常用一個字節(jié)來存放一個字符。 在ASCI
21、I碼表中,數字和英文字母都是按順序排列的,只要知道其中一個的二進制代碼,不要查表就可以推導出其他數字或字母的二進制代碼。,49,ASCII字符編碼表,50,2.字符串的存放,字符串是指一串連續(xù)的字符。例如,字符串IF X0 THEN READ (C)。 向量存放法在存儲器中占用一片連續(xù)的空間,每個字節(jié)存放一個字符代碼,字符串的所有元素(字符)在物理上是鄰接的。在字長為32位的存儲器,每一個主存單元可存放4個字符,整個字符串需5個主存單元。在每個字節(jié)中實際存放的是相應字符的ASCII碼。,51,字符串的向量存放方案,圖2-7 字符串的向量存放方案,52,1.漢字國標碼 漢字國標碼亦可稱為漢字交換
22、碼,主要用于漢字信息處理系統(tǒng)之間或者通信系統(tǒng)之間交換信息使用,簡稱GB碼。該標準共收集常用漢字6 763個,另外還有各種圖形符號682個,共計7 445個。 GB碼規(guī)定每個漢字、圖形符號都用兩個字節(jié)表示,每個字節(jié)只使用低七位編碼,因此最多能表示出128128=16 384個漢字。,2.3.2 漢字的表示,53,區(qū)位碼將漢字編碼碼中的6 763個漢字分為94個區(qū),每個區(qū)中包含94個漢字(位),區(qū)和位組成一個二維數組,每個漢字在數組中對應一個唯一的區(qū)位碼。漢字的區(qū)位碼定長4位,前2位表示區(qū)號,后2位表示位號,區(qū)號和位號用十進制數表示,區(qū)號從01到94,位號也從01到94。例如,“中”字在54區(qū)的4
23、8位上,其區(qū)位碼為“54-48”,“國”字在25區(qū)的90位上,其區(qū)位碼為“25-90”。,2.漢字區(qū)位碼,54,需要注意的是:漢字區(qū)位碼并不等于漢字國標碼,它們兩者之間的關系可用以下公式表示: 國標碼區(qū)位碼(十六進制)2020H 例15:已知漢字“春”的區(qū)位碼為“20-26”,計算它的國標碼。 區(qū)位碼:第1字節(jié) 第2字節(jié) 20 26 十進制 14H 1AH 十六進制 +20H +20H 國標碼: 34H 3AH,2.漢字區(qū)位碼(續(xù)),55,漢字在計算機內部其內碼是唯一的。因為漢字處理系統(tǒng)要保證中西文的兼容,當系統(tǒng)中同時存在ASCII碼和漢字國標碼時,將會產生二義性。例如:有兩個字節(jié)的內容為30
24、H和21H,它既可表示漢字“啊”的國標碼,又可表示西文“0”和“!”的ASCII碼。為此,漢字機內碼應對國標碼加以適當處理和變換。 GB碼的機內碼為二字節(jié)長的代碼,它是在相應GB碼的每個字節(jié)最高位上加“1”,即 漢字機內碼漢字國標碼8080H 例如,上述“啊”字的國標碼是3021H,其漢字機內碼則是B0A1H。,3.漢字機內碼,56,Unicode的基本方法是用一個16位的數來表示每個符號,這種符號集可表示65536個不同的字符或符號。被稱為基本多語言平面(BMP)。這個空間已經非常大了,但設計者考慮到將來某一天它可能也會不夠用,所以采用了一種可使這種表示法使用得更遠的方法。,2.3.3 統(tǒng)一
25、代碼,57,當用兩字節(jié)來表示Unicode字符時,使用的是UCS-2編碼,但盡管如此,也允許在UCS-2文本中插入一些UCS-4字符。為此,在BMP中,保留了兩個大小為1024的塊,這兩個塊中任何位置都不能用來表示任何符號。UCS-4的兩個16位字每個表示一個數,這個數是UCS-2 BMP中1024個數值中的一個。這兩個數的組合可以表示多達100多萬個自定義的UCS-4字符。,2.3.3 統(tǒng)一代碼(續(xù)),58,PC機中表示符號的3種方法,圖2-8 PC機中表示符號的3種方法,59,2.4 十進制數和數串的表示,十進制是人們最常用的數據表示方法,一些通用性較強的計算機上設有十進制數據的表示,可以
26、直接對十進制數進行運算和處理。,60,2.4.1 十進制數的編碼,用四位二進制數來表示一位十進制數,稱為二進制編碼的十進制數,簡稱BCD碼。 四位二進制數可以組合出16種代碼,能表示16種不同的狀態(tài),我們只需要使用其中的10種狀態(tài),就可以表示十進制數的09十個數碼,而其他的六種狀態(tài)為冗余狀態(tài)。由于可以取任意的10種代碼來表示十個數碼,所以就可能產生多種BCD編碼。BCD編碼既具有二進制數的形式,又保持了十進制數的特點。,61,幾種常見的BCD碼,62,1.8421碼,8421碼又稱為NBCD碼,其主要特點是: 它是一種有權碼,四位二進制代碼的位權從高到低分別為8、4、2、1。 簡單直觀。每個代
27、碼與它所代表的十進制數之間符合二進制數和十進制數相互轉換的規(guī)則。 不允許出現10101111。這6個代碼在8421碼中是非法碼。,63,2.2421碼,2421碼的主要特點是: 它也是一種有權碼,四位二進制代碼的位權從高到低分別為2、4、2、1。 它又是一種對9的自補碼。即某數的2421碼,只要自身按位取反,就能得到該數對9之補的2421碼。例如: 3的2421碼是0011。3對9之補是6,而6的2421碼是1100。 不允許出現01011010。這6個代碼在2421碼中是非法碼。,64,3.余3碼,余3碼的主要特點是: 這是一種無權碼,但也可看作是一種特殊的有權碼,即在8421碼的基礎上加+
28、3(+0011)形成的,故稱余3碼。在這種編碼中各位的“1”不表示一個固定的十進制數值,因而不直觀。 它也是一種對9的自補碼。 不允許出現00000010、11011111。這6個代碼在余3碼中是非法碼。,65,2.4.2 十進制數串,1.非壓縮的十進制數串 非壓縮的十進制數串中一個字節(jié)存放一個十進制數或符號的ASCII-7碼。 非壓縮的十進制數串又分成前分隔式數字串和后嵌入式數字串兩種格式。在前分隔式數字串中,符號位占用單獨一個字節(jié),放在數值位之前,正號對應的ASCII碼為2BH,負號對應的ASCII碼為2DH。在后嵌入式數字串中,符號位不單獨占用一個字節(jié),而是嵌入到最低一位數字里邊去。若數
29、串為正,則最低一位數字09的ASCII碼不變(30H39H);若數串為負,把負號變?yōu)?0H,并將其與最低數值位相加,此時數字09的ASCII碼變?yōu)?0H79H。,66,2.壓縮的十進制數串,壓縮的十進制數串,一個字節(jié)可存放兩位BCD碼表示的十進制數,既節(jié)省了存儲空間,又便于直接進行十進制算術運算。 在主存中,一個壓縮的十進制數串占用連續(xù)的多個字節(jié),每位數字僅占半個字節(jié),其值常用8421碼表示。符號位也占半個字節(jié),并存放在最低數值位之后,通常用CH表示正號,DH表示負號。在這種表示中,規(guī)定數字的個數加符號位之和必須為偶數;當和為奇數時,應在最高數值位之前補0H(即第一個字節(jié)的高半字節(jié)為“0000
30、”)。,67,2.5 現代微機系統(tǒng)中的數據表示舉例,現代的微機系統(tǒng)大多采用Intel系列的微處理器,近年來,Intel的微處理器有了極大的發(fā)展,形成了IA-32結構。 IA-32結構的基本數據類型是字節(jié)、字、雙字、四字和雙四字。,68,IA-32結構的基本數據類型,圖2-9 IA-32結構的基本數據類型,69,1.無符號整數,無符號整數是包含字節(jié)、字、雙字和四字的無符號的二進制數。無符號整數的范圍,對于字節(jié),從0255;對于字,從065535;對于雙字,從0232 -1;對于四字,從0264-1。 2.帶符號整數 帶符號整數是包含字節(jié)、字、雙字和四字的帶符號的二進制定點整數。正數的符號位為0,
31、負數的符號位為1。對于字節(jié),從-128+127;對于字,從 -32768+32767;對于雙字,從-231+231-1;對于四字,從-263+263-1。,70,3.浮點數,與IEEE 754標準所規(guī)定的格式直接對應。 4.指針數據 指針是主存單元的地址,IA-32 結構定義了兩種類型的指針:近指針(32位)和遠指針(48位)。 5.串數據 包括位串、字節(jié)串、字串和雙字串。一個串可以包含從一個字節(jié)到4GB的內容。,71,6.BCD數,IA-32 結構中所指的BCD碼實際上是指8421碼。BCD數又分成未拼裝的BCD(UBCD)數和拼裝的BCD數兩種。UBCD數的一個字節(jié)僅包含一位十進制數,在3
32、0位上;而經過拼裝的BCD數,一個字節(jié)包含兩位十進制數,其低位在30位上,高位在74位上。,72,2.6 數據校驗碼,數據校驗碼是指那些能夠發(fā)現錯誤或能夠自動糾正錯誤的數據編碼,又稱之為“檢錯糾錯編碼”。任何一種編碼都由許多碼字構成,任意兩個碼字之間最少變化的二進制位數,被稱為數據校驗碼的碼距。例如,用四位二進制表示16種狀態(tài),則有16個不同的碼字,此時碼距為1,即兩個碼字之間最少僅有一個二進制位不同(如0000與0001之間)。這種編碼沒有檢錯能力,因為當某一個合法碼字中有一位或幾位出錯,就變成為另一個合法碼字了。,73,2.6.1 奇偶校驗碼,1.奇偶校驗概念 奇偶校驗碼是一種最簡單的數據
33、校驗碼,它的碼距等于2,可以檢測出一位錯誤(或奇數位錯誤),但不能確定出錯的位置,也不能檢測出偶數位錯誤。 奇偶校驗實現方法是:由若干位有效信息(如一個字節(jié)),再加上一個二進制位(校驗位)組成校驗碼。 圖2-11 奇偶校驗碼,74,奇偶校驗規(guī)律,校驗位的取值(0或1)將使整個校驗碼中“1”的個數為奇數或偶數,所以有兩種可供選擇的校驗規(guī)律: 奇校驗整個校驗碼(有效信息位和校驗位)中“1”的個數為奇數。 偶校驗整個校驗碼中“1”的個數為偶數。,75,2.簡單奇偶校驗,簡單奇偶校驗僅實現橫向的奇偶校驗,下表給出幾個字節(jié)的奇偶校驗碼的編碼結果。最高一位為校驗位,其余8位為信息位。在實際應用中,多采用奇
34、校驗,因為奇校驗中不存在全“0”代碼,在某些場合下更便于判別。,76,2.簡單奇偶校驗(續(xù)), 校驗位形成 當要把一個字節(jié)的代碼D7D0寫入主存時,就同時將它們送往奇偶校驗邏輯電路,該電路產生的“奇形成”信號就是校驗位。它將與8位代碼一起作為奇校驗碼寫入主存。 若D7D0中有偶數個“1”,則“奇形成”=1, 若D7D0中有奇數個“1”,則“奇形成”=0。,77,奇偶校驗位的形成及校驗電路,圖2-12 奇偶校驗位的形成及校驗電路,78,2.簡單奇偶校驗(續(xù)),校驗檢測 讀出時,將讀出的9位代碼(8位信息位和1位校驗位)同時送入奇偶校驗電路檢測。若讀出代碼無錯,則“奇校驗出錯”=0;若讀出代碼中的
35、某一位上出現錯誤,則“奇校驗出錯”=1,從而指示這個9位代碼中一定有某一位出現了錯誤,但具體的錯誤位置是不能確定的。,79,3.交叉奇偶校驗,計算機在進行大量字節(jié)(數據塊)傳送時,不僅每一個字節(jié)有一個奇偶校驗位做橫向校驗,而且全部字節(jié)的同一位也設置一個奇偶校驗位做縱向校驗,這種橫向、縱向同時校驗的方法稱為交叉校驗。 第1字節(jié) 1 1 0 0 1 0 1 1 1 第2字節(jié) 0 1 0 1 1 1 0 0 0 第3字節(jié) 1 0 0 1 1 0 1 0 0 第4字節(jié) 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0,80,3.交叉奇偶校驗(續(xù)),交叉校驗可以發(fā)現兩位同時出錯的情況,
36、假設第2字節(jié)的A6、A4兩位均出錯,橫向校驗位無法檢出錯誤,但是第A6、A4位所在列的縱向校驗位會顯示出錯,這與前述的簡單奇偶校驗相比要保險多了。,81,2.6.2 海明校驗碼,海明碼實際上是一種多重奇偶校驗,其實現原理是:在有效信息位中加入幾個校驗位形成海明碼,使碼距比較均勻地拉大,并把海明碼的每一個二進制位分配到幾個奇偶校驗組中。當某一位出錯后,就會引起有關的幾個校驗位的值發(fā)生變化,這不但可以發(fā)現錯誤,還能指出錯誤的位置,為自動糾錯提供了依據。,82,2.6.2 海明校驗碼(續(xù)),編碼 一個字節(jié)由8位二進制位組成,故海明碼的總位數為13位,可表示為: H13 H12H2 H1 五個校驗位P5P1對應的海明碼位號應分別為:H13、H8、H4、H2、H1,除P5外,其余四位都滿足Pi的位號等于2i-1的關系,而P5只能放在H13上,因為它已經是海明碼的最高位了。 P5 D8 D7 D6 D5 P4 D4 D3 D2 P3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職康復治療技術(言語治療技術)試題及答案
- 2025年大學生態(tài)(資源循環(huán))試題及答案
- 2026年東營科技職業(yè)學院高職單招職業(yè)適應性測試備考題庫有答案解析
- 2026年德州職業(yè)技術學院高職單招職業(yè)適應性考試參考題庫帶答案解析
- 2026年安徽郵電職業(yè)技術學院高職單招職業(yè)適應性測試備考試題帶答案解析
- 2026年湖北水利水電職業(yè)技術學院單招綜合素質筆試模擬試題帶答案解析
- 2026年廣州衛(wèi)生職業(yè)技術學院高職單招職業(yè)適應性考試備考題庫有答案解析
- 2026年廣東農工商職業(yè)技術學院單招綜合素質筆試備考試題帶答案解析
- 2026年海南經貿職業(yè)技術學院高職單招職業(yè)適應性測試備考題庫有答案解析
- 2026年滄州職業(yè)技術學院高職單招職業(yè)適應性考試備考題庫帶答案解析
- 門衛(wèi)值班安全協(xié)議書
- 幼兒園教師團隊培訓講座
- 2024年7月國家開放大學法學本科《國際經濟法》期末紙質考試試題及答案
- 瓶裝液化氣送氣工培訓
- 2023-2024學年浙江省杭州市西湖區(qū)五年級(上)期末數學試卷
- 2024年重慶市璧山區(qū)敬老院達標建設及規(guī)范管理實施辦法(全文完整)
- 作業(yè)隊組建管理辦法
- csco食管癌指南解讀
- 新版小黑書高中英語抗遺忘速記大綱3500詞高中知識點大全復習
- 部編本語文三年級上冊詞語表
- 林業(yè)地類代碼表
評論
0/150
提交評論