第2章數(shù)據(jù)的機器層次表示_第1頁
第2章數(shù)據(jù)的機器層次表示_第2頁
第2章數(shù)據(jù)的機器層次表示_第3頁
第2章數(shù)據(jù)的機器層次表示_第4頁
第2章數(shù)據(jù)的機器層次表示_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機組成原理朱華貴189708667552015年09月01日、07日計算機組成原理第2章數(shù)據(jù)的機器層次表示朱華貴2015年9月01日、07日計算機組成原理第2章數(shù)據(jù)的機器層次表示數(shù)據(jù)是計算機加工和處理的對象,數(shù)據(jù)的機器層次表示將直接影響到計算機的結(jié)構(gòu)和性能。本章主要介紹無符號數(shù)和帶符號數(shù)的表示方法、數(shù)的定點與浮點表示方法、字符和漢字的編碼方法、數(shù)據(jù)校驗碼等。熟悉和掌握本章的內(nèi)容,是學(xué)習(xí)計算機原理的最基本要求。2.1數(shù)值數(shù)據(jù)的表示2.2機器數(shù)的定點表示和浮點表示2.3非數(shù)值數(shù)據(jù)的表示2.4十進(jìn)制數(shù)和數(shù)串的表示2.5現(xiàn)代微型計算機中的數(shù)據(jù)表示舉例2.6數(shù)據(jù)校驗碼本章學(xué)習(xí)要求了解:無符號數(shù)與帶符號數(shù),真值和機器數(shù)等概念掌握:原碼、補碼、反碼表示法以及三種碼制與真值之間的轉(zhuǎn)換方法

掌握:定點數(shù)和浮點數(shù)的表示范圍理解:浮點數(shù)階碼的移碼理解:IEEE754浮點數(shù)標(biāo)準(zhǔn)掌握:常見的字符編碼方法(ASCII碼)、漢字國標(biāo)碼、區(qū)位碼、機內(nèi)碼、字型碼掌握:8241碼、2421碼和余3碼掌握:奇偶校驗位及其形成方法了解:海明校驗碼和循環(huán)冗余校驗碼2.1數(shù)值數(shù)據(jù)的表示

在計算機中,采用數(shù)字化方式來表示數(shù)據(jù),數(shù)據(jù)有無符號數(shù)和帶符號數(shù)之分,其中帶符號數(shù)根據(jù)其編碼的不同又有原碼、補碼和反碼3種形式。2.1.1計算機中的數(shù)值數(shù)據(jù)二進(jìn)制數(shù):后綴B八進(jìn)制數(shù):后綴Q十進(jìn)制數(shù):后綴D或省略后綴十六進(jìn)制數(shù):后綴H

計算機系統(tǒng)設(shè)計師和程序員更鐘情于采用程序設(shè)計語言的記號來表示不同進(jìn)制的數(shù),這就是前綴表示法,如:在C語言中,八進(jìn)制常數(shù)以前綴0開始,十六進(jìn)制常數(shù)以前綴0x開始。2.1.2無符號數(shù)和帶符號數(shù)無符號數(shù),就是整個機器字長的全部二進(jìn)制位均表示數(shù)值位(沒有符號位),相當(dāng)于數(shù)的絕對值。例如:

N1=01001表示無符號數(shù)9

N2=11001表示無符號數(shù)25機器字長為n+1位的無符號數(shù)的表示范圍是0~(2n+1-1),此時二進(jìn)制的最高位也是數(shù)值位,其權(quán)值等于2n。若字長為8位,則數(shù)的表示范圍為0~255。2.1.2無符號數(shù)和帶符號數(shù)(續(xù))帶符號數(shù),即正、負(fù)數(shù)。在日常生活中,我們用“+”、“-”號加絕對值來表示數(shù)值的大小,用這種形式表示的數(shù)值在計算機技術(shù)中稱為“真值”。在計算機中需要把數(shù)的符號數(shù)碼化。通常,約定二進(jìn)制數(shù)的最高位為符號位,“0”表示正號,“1”表示負(fù)號。這種在計算機中使用的表示數(shù)的形式稱為機器數(shù)。常見的機器數(shù)有原碼、反碼、補碼等3種不同的表示形式。帶符號數(shù)的最高位被用來表示符號位,而不再表示數(shù)值位。前例中的N1、N2

在這里的含義變?yōu)椋?/p>

N1=01001表示+9。N2=11001根據(jù)機器數(shù)的不同形式表示不同的值,如是原碼則表示-9,補碼則表示-7,反碼則表示-6。2.1.3原碼表示法

原碼表示法是一種最簡單的機器數(shù)表示法,用最高位表示符號位,符號位為“0”表示該數(shù)為正,符號位為“1”表示該數(shù)為負(fù),數(shù)值部分與真值相同。

1、設(shè)二進(jìn)制純小數(shù)的原碼形式為Xs.X1X2…Xn,字長n+1位,其中Xs表示符號位。

例1:X1=0.0110,[X1]原=0.0110X2=-0.0110,[X2]原=1.0110

2、設(shè)二進(jìn)制純整數(shù)的原碼形式為XsX1X2…Xn,其中Xs表示符號位。例2:X1=1101,[X1]原=01101X2=-1101,[X2]原=11101

在原碼表示中,真值0有兩種不同的表示形式:[+0]原=00000

[-0]原=100002.1.4補碼表示法1.模和同余模是指一個計量器的容量,可用M表示。例如:一個4位的二進(jìn)制計數(shù)器,當(dāng)計數(shù)器從0計到15之后,再加1,計數(shù)值又變?yōu)?。這個計數(shù)器的容量M=24=16,即模為16。由此可見,純小數(shù)的模為2,一個字長為n+1位的純整數(shù)的模為2n+1。同余是指兩整數(shù)A、B除以同一正整數(shù)M,所得余數(shù)相同,則稱A、B對M同余,即A、B在以M為模時是相等的,可寫作

A=B(modM)時鐘正撥和倒撥對鐘表而言,M=12。假設(shè):時鐘停在8點,而現(xiàn)在正確的時間是6點,這時撥準(zhǔn)時鐘的方法有兩種:正撥和倒撥。分針倒著旋轉(zhuǎn)2圈,等于分針正著旋轉(zhuǎn)10圈。故有:-2=10(mod12),即-2和10同余。8-2=8+10(mod12)倒撥時鐘正撥時鐘點擊播放補碼的符號位表示方法與原碼相同,其數(shù)值部分的表示與數(shù)的正負(fù)有關(guān):對于正數(shù),數(shù)值部分與真值形式相同;對于負(fù)數(shù),將真值的數(shù)值部分按位取反,且在最低位上加1。若真值為純小數(shù),它的補碼形式為Xs.X1X2…Xn,其中Xs表示符號位。例5:X1=0.0110,[X1]補=0.0110X2=-0.0110,[X2]補=1.10102.補碼表示若真值為純整數(shù),它的補碼形式為XsX1X2…Xn,其中Xs表示符號位。例6:X1=1101,[X1]補=01101X2=-1101,[X2]補=10011在補碼表示中,真值0的表示形式是唯一的:[+0]補=[-0]補=000002.補碼表示(續(xù))當(dāng)X為正數(shù)時,[X]補=[X]原=X

當(dāng)X為負(fù)數(shù)時,由[X]原轉(zhuǎn)換為[X]補的方法:①[X]原除掉符號位外的各位取反加“1”。②自低位向高位,尾數(shù)的第一個“1”及其右部的“0”保持不變,左部的各位取反,符號位保持不變。例7:[X]原=1.1110011000[X]補=1.00011010003.由真值、原碼轉(zhuǎn)換為補碼不變不變變反2.1.5反碼表示法反碼表示法與補碼表示法有許多類似之處,對于正數(shù),數(shù)值部分與真值形式相同;對于負(fù)數(shù),將真值的數(shù)值部分按位取反。若真值為純小數(shù),它的反碼形式為Xs.X1X2…Xn,其中Xs表示符號位。例9:X1=0.0110,[X1]反=0.0110X2=-0.0110,[X2]反=1.10012.1.5反碼表示法(續(xù))若真值為純整數(shù),它的反碼形式為XsX1X2…Xn,其中Xs表示符號位。例10:X1=1101,[X1]補=01101X2=-1101,[X2]補=10010

在反碼表示中,真值0也有兩種不同的表示形式:[+0]反=00000[-0]反=111111.比較對于正數(shù)它們都等于真值本身,而對于負(fù)數(shù)各有不同的表示。最高位都表示符號位,補碼和反碼的符號位可作為數(shù)值位的一部分看待,和數(shù)值位一起參加運算;但原碼的符號位不允許和數(shù)值位同等看待,必須分開進(jìn)行處理。對于真值0,原碼和反碼各有兩種不同的表示形式,而補碼只有唯一的一種表示形式。原碼、反碼表示的正、負(fù)數(shù)范圍相對零來說是對稱的;但補碼負(fù)數(shù)表示范圍較正數(shù)表示范圍寬,能多表示一個最負(fù)的數(shù)(絕對值最大的負(fù)數(shù)),其值等于-2n(純整數(shù))或-1(純小數(shù))。2.1.6三種碼制的比較與轉(zhuǎn)換真值與3種機器數(shù)間的對照2.轉(zhuǎn)換如果已知機器的字長,則機器數(shù)的位數(shù)應(yīng)補夠相應(yīng)的位。例如,設(shè)機器字長為8位,則:

X1=1011X2=-1011

[X1]原=00001011[X2]原=10001011

[X1]補=00001011[X2]補=11110101[X1]反=00001011[X2]反=11110100

X3=0.1011X4=-0.1011

[X3]原=0.1011000[X4]原=1.1011000

[X3]補=0.1011000[X4]補=1.0101000[X3]反=0.1011000[X4]反=1.01001112.2機器數(shù)的定點表示與浮點表示計算機在進(jìn)行算術(shù)運算時,需要指出小數(shù)點的位置。根據(jù)小數(shù)點的位置是否固定,在計算機中有兩種數(shù)據(jù)格式:定點表示和浮點表示。2.2.1定點表示法

在定點表示法中約定:所有數(shù)據(jù)的小數(shù)點位置固定不變。1.定點小數(shù)

小數(shù)點的位置固定在最高有效數(shù)位之前,符號位之后,記作Xs.X1X2…Xn,這個數(shù)是一個純小數(shù)。定點小數(shù)的小數(shù)點位置是隱含約定的,小數(shù)點并不需要真正地占據(jù)一個二進(jìn)制位。定點小數(shù)表示范圍圖2-2定點小數(shù)格式

當(dāng)Xs=0,X1~Xn=1時,X為最大正數(shù)。X最大正數(shù)=1-2-n當(dāng)Xn=1,Xs~Xn-1=0時,X為最小正數(shù)。X最小正數(shù)=2-n定點小數(shù)表示范圍(續(xù))當(dāng)Xs=1,表示X為負(fù)數(shù),此時情況要稍微復(fù)雜一些,這是因為在計算機中帶符號數(shù)可用補碼表示,也可用原碼表示。原碼和補碼的表示范圍有一些差別。若機器數(shù)為原碼表示,當(dāng)Xs~Xn均等于1時,X為絕對值最大的負(fù)數(shù)。

X絕對值最大負(fù)數(shù)=-(1-2-n)

若機器數(shù)為補碼表示,當(dāng)Xs=1,X1~Xn均等于0時,X為絕對值最大的負(fù)數(shù)。

X絕對值最大負(fù)數(shù)=-1若機器字長有n+1位,則有:原碼定點小數(shù)表示范圍:

-(1-2-n)~(1-2-n)補碼定點小數(shù)表示范圍:

-1~(1-2-n)

若機器字長有8位,則有:原碼定點小數(shù)表示范圍:-~補碼定點小數(shù)表示范圍:-1~定點小數(shù)表示范圍(續(xù))2.定點整數(shù)定點整數(shù)即純整數(shù),小數(shù)點位置隱含固定在最低有效數(shù)位之后,記作XsX1X2…Xn。圖2-3定點整數(shù)格式若機器字長有n+1位,則有:原碼定點整數(shù)的表示范圍:

-(2n-1)~(2n-1)補碼定點整數(shù)的表示范圍:

-2n~(2n-1)若機器字長有8位,則有:原碼定點整數(shù)表示范圍:-127~127補碼定點整數(shù)表示范圍:-128~127定點整數(shù)表示范圍26

小數(shù)點的位置根據(jù)需要而浮動,這就是浮點數(shù)。例如:N=M×rE式中:r為浮點數(shù)階碼的底,與尾數(shù)的基數(shù)相同,通常r=2。E和M都是帶符號數(shù),E叫做階碼,M叫做尾數(shù)。在大多數(shù)計算機中,尾數(shù)為純小數(shù),常用原碼或補碼表示;階碼為純整數(shù),常用移碼或補碼表示。2.2.2浮點表示法圖2-5浮點數(shù)的一般格式浮點數(shù)的底是隱含的,在整個機器數(shù)中不出現(xiàn)。階碼的符號位為es,階碼的大小反映了在數(shù)N中小數(shù)點的實際位置;尾數(shù)的符號位為ms,它是整個浮點數(shù)的符號位,表示了該浮點數(shù)的正負(fù)。浮點數(shù)的一般格式1.浮點數(shù)的表示范圍當(dāng)es=0,ms=0,階碼和尾數(shù)的數(shù)值位各位全為1(即階碼和尾數(shù)都為最大正數(shù))時,該浮點數(shù)為最大正數(shù):X最大正數(shù)=(1-2-n)

當(dāng)es=1,ms=0,尾數(shù)的最低位mn=1,其余各位為0(即階碼為絕對值最大的負(fù)數(shù),尾數(shù)為最小正數(shù))時,該浮點數(shù)為最小正數(shù):X最小正數(shù)=2-n

1.浮點數(shù)的表示范圍(續(xù))當(dāng)es=0,階碼的數(shù)值位為全1;ms=1,尾數(shù)的數(shù)值位為全0(即階碼為最大正數(shù),尾數(shù)為絕對值最大的負(fù)數(shù))時,該浮點數(shù)為絕對值最大負(fù)數(shù):

X絕對值最大負(fù)數(shù)=-1為了提高運算的精度,需要充分地利用尾數(shù)的有效數(shù)位,通常采取浮點數(shù)規(guī)格化形式,即規(guī)定尾數(shù)的最高數(shù)位必須是一個有效值。1/2≤|M|<12.規(guī)格化浮點數(shù)2.規(guī)格化浮點數(shù)(續(xù))在尾數(shù)用補碼表示時,規(guī)格化浮點數(shù)應(yīng)滿足尾數(shù)最高數(shù)位與符號位不同(ms⊕m1=1),即當(dāng)1/2≤M<1時,應(yīng)有0.1xx…x形式,當(dāng)-1≤M<-1/2時,應(yīng)有1.0xx…x形式。需要注意的是當(dāng)M=-1/2,對于原碼來說,是規(guī)格化數(shù),而對于補碼來說,不是規(guī)格化數(shù)。2.規(guī)格化浮點數(shù)(續(xù))當(dāng)es=1,ms=0,尾數(shù)的最高位m1=1,其余各位為0時,該浮點數(shù)為規(guī)格化的最小正數(shù):X規(guī)格化的最小正數(shù)=2-1

規(guī)格化的最小正數(shù)大于非規(guī)格化的最小正數(shù)。浮點數(shù)的典型值2.2.3浮點數(shù)階碼的移碼表示法移碼就是在真值X上加一個常數(shù)(偏置值),相當(dāng)于X在數(shù)軸上向正方向平移了一段距離,這就是“移碼”一詞的來由。[X]移=偏置值+X對于字長8位的定點整數(shù),偏置值為27。

例11:X=1011101[X]移=27+X=10000000+1011101=11011101[X]補=01011101例12:X=-1011101[X]移=27+X=10000000-1011101=00100011[X]補=10100011偏置值為27的移碼、補碼和真值之間的關(guān)系…………偏置值為2n的移碼的特點⑴在移碼中,最高位為“0”表示負(fù)數(shù),最高位為“1”表示正數(shù)。⑵移碼為全0時,它所對應(yīng)的真值最小,為全1時,它所對應(yīng)的真值最大。⑶真值0在移碼中的表示形式是唯一的,即[+0]移=[-0]移=100…0。⑷移碼把真值映射到一個正數(shù)域,所以可將移碼視為無符號數(shù),直接按無符號數(shù)規(guī)則比較大小。⑸同一數(shù)值的移碼和補碼除最高位相反外,其他各位相同。浮點數(shù)的階碼采用移碼的原因便于比較浮點數(shù)的大小。階碼大的,其對應(yīng)的真值就大,階碼小的,對應(yīng)的真值就小。簡化機器中的判零電路。當(dāng)階碼全為0,尾數(shù)也全為0時,表示機器零。2.2.4浮點數(shù)尾數(shù)的基數(shù)

浮點數(shù)尾數(shù)基數(shù)的選擇對浮點數(shù)的特性起著主要作用,它既影響浮點運算的精度,也影響數(shù)值的表示范圍。

改變尾數(shù)基數(shù)r,會使浮點數(shù)的特性有下列影響:

可表示數(shù)的范圍。

可表示數(shù)的個數(shù)。

數(shù)在數(shù)軸上的分布。

可表示數(shù)的精度。

⑤運算中的精度損失。

運算速度。圖2-6IEEE754標(biāo)準(zhǔn)的浮點數(shù)格式2.2.5

IEEE754標(biāo)準(zhǔn)浮點數(shù)以短浮點數(shù)為例討論浮點代碼與其真值之間的關(guān)系。最高位為數(shù)符位;其后是8位階碼,以2為底,階碼的偏置值為127;其余23位是尾數(shù)。為了使尾數(shù)部分能表示更多一位的有效值,IEEE754采用隱含尾數(shù)最高數(shù)位1(即這一位1不表示出來)的方法,因此尾數(shù)實際上是24位。應(yīng)注意的是,隱含的1是一位整數(shù)(即位權(quán)為20),在浮點格式中表示出來的23位尾數(shù)是純小數(shù),并用原碼表示。2.2.5

IEEE754標(biāo)準(zhǔn)浮點數(shù)(續(xù))例13:將(100.25)10轉(zhuǎn)換成短浮點數(shù)格式。⑴十進(jìn)制數(shù)→二進(jìn)制數(shù)(100.25)10=(1100100.01)2⑵非規(guī)格化數(shù)→規(guī)格化數(shù)1100100.01=1.10010001×26⑶計算移碼表示的階碼(偏置值+階碼真值)1111111+110=10000101⑷以短浮點數(shù)格式存儲該數(shù)。符號位=0階碼=10000101尾數(shù)=10010001000000000000000(5)短浮點數(shù)代碼為

0;100

0010

1;100

1000

1000

0000

0000

0000表示為十六進(jìn)制的代碼:42C88000H。2.2.5

IEEE754標(biāo)準(zhǔn)浮點數(shù)(續(xù))例14:把短浮點數(shù)C1C90000H轉(zhuǎn)換成為十進(jìn)制數(shù)。⑴十六進(jìn)制→二進(jìn)制形式,并分離出符號位、階碼和尾數(shù)。

C1C90000H=

1;10000011;10010010000000000000000階碼符號位尾數(shù)2.2.5

IEEE754標(biāo)準(zhǔn)浮點數(shù)(續(xù))⑵計算出階碼真值(移碼-偏置值)10000011-1111111=100⑶以規(guī)格化二進(jìn)制數(shù)形式寫出此數(shù)1.1001001×24⑷寫成非規(guī)格化二進(jìn)制數(shù)形式11001.001⑸轉(zhuǎn)換成十進(jìn)制數(shù),并加上符號位。(11001.001)2=(25.125)10

所以,該浮點數(shù)=-25.1252.2.5

IEEE754標(biāo)準(zhǔn)浮點數(shù)(續(xù))2.2.6定點、浮點表示法和定點、浮點計算機1.定點、浮點表示法的區(qū)別⑴數(shù)值的表示范圍假設(shè)定點數(shù)和浮點數(shù)的字長相同,浮點表示法所能表示的數(shù)值范圍將遠(yuǎn)遠(yuǎn)大于定點數(shù)。⑵精度對于字長相同的定點數(shù)和浮點數(shù)來說,浮點數(shù)雖然擴大了數(shù)的表示范圍,但這正是以降低精度為代價的,也就是數(shù)軸上各點的排列更稀疏了。1.定點、浮點表示法的區(qū)別(續(xù))⑶數(shù)的運算浮點運算要比定點運算復(fù)雜得多。⑷溢出處理在定點運算時,當(dāng)運算結(jié)果超出數(shù)的表示范圍,就發(fā)生溢出。而在浮點運算時,運算結(jié)果超出尾數(shù)的表示范圍卻并不一定溢出,只有當(dāng)階碼超出所能表示的范圍時,才發(fā)生溢出。2.定點機與浮點機通常可以將計算機分為幾檔:⑴定點機以定點運算為主,浮點運算是通過軟件來實現(xiàn)的。⑵定點機+浮點運算部件浮點運算部件是專門用于對浮點數(shù)進(jìn)行運算的部件。⑶浮點機具有浮點運算指令和基本的浮點運算器。原碼及補碼舉例分別寫出下列機器數(shù)長度為8位(含1位符號位)時的原碼及補碼。(1)+23/128(2)-35/64(3)43(4)-72解:(1)[+23/128]原=0.0010111, [+23/128]補=0.0010111;(2)[-35/64]原=1.1000110, [-35/64]補=1.0111010;(3)[43]原=00101011, [43]補=00101011;(4)[-72]原=11001000, [-72]補=10111000。浮點數(shù)舉例例如:若機器中單精度浮點數(shù)采用IEEE754標(biāo)準(zhǔn)表示。(1)對機器碼為(99D00000)16及(59800000)16的浮點數(shù),請寫出它們的真值;(2)請寫出-51/128的機器碼。解:(1)由于機器碼(99D00000)16=1;00110011;10100000000000000000000B故浮點數(shù)的符號碼MS=1、階碼E=00110011、尾數(shù)碼M=10100000000000000000000,因1<E<255,故機器碼表示的為規(guī)格化浮點數(shù)。(99D00000)16的真值N=(-1)1×251-127×1.10100000000000000000000=-0.1101×2-76;由于機器碼(59800000)16=0;10110011;00000000000000000000000B故浮點數(shù)的符號碼MS=0、階碼E=10110011、尾數(shù)碼M=00000000000000000000000,因1<E<255,故機器碼表示的為規(guī)格化浮點數(shù)。(59800000)16的真值N=(-1)0×2179-127×1.00000000000000000000000=+0.1×2+53。(2)(-51/128)10=(-0.0110011)2=(-1)1×(1.10011)×2125-127,則用IEEE754標(biāo)準(zhǔn)表示時,符號碼MS=1、階碼E=125、尾數(shù)M=0.10011,故-51/128的單精度浮點數(shù)機器碼為1;01111101;10011000000000000000000。例:某浮點數(shù)字長16位,其中階碼部分6位(含1位階符),移碼表示,以2為底;尾數(shù)部分10位(含1位數(shù)符,位于尾數(shù)的最高位),補碼表示,規(guī)格化.分別寫出下列各題的二進(jìn)制代碼和其對應(yīng)的真值。(1)非零最小正數(shù);(2)最大正數(shù);(3)絕對值最小負(fù)數(shù);(4)絕對值最大正數(shù).解:(1)此時階碼為絕對值最大的負(fù)數(shù)(最小值),尾數(shù)為規(guī)格化最小正數(shù)。000000,0.100000000,2-1×2-25=2-33(2)此時階碼和尾數(shù)均為最大正數(shù).111111,0.111111111,(1-2-9)×225-1=(1-2-9)×231(3)此時階碼為絕對值最大的負(fù)數(shù),尾數(shù)為規(guī)格化的絕對值最小負(fù)數(shù)。000000,1.011111111,-(2-1+2-9)×2-25(4)此時階碼為最大正數(shù),尾數(shù)為絕對值最大負(fù)數(shù).111111,1.000000000,-1×225-1=-2-312.3非數(shù)值數(shù)據(jù)的表示

非數(shù)值數(shù)據(jù),又稱為字符數(shù)據(jù),通常是指字符、字符串、圖形符號和漢字等各種數(shù)據(jù),它們不用來表示數(shù)值的大小,一般情況下不對它們進(jìn)行算術(shù)運算。2.3.1字符和字符串的表示1.ASCII字符編碼常見的ASCII碼用七位二進(jìn)制表示一個字符,它包括10個十進(jìn)制數(shù)字(0~9)、52個英文大寫和小寫字母(A~Z,a~z)、34個專用符號和32個控制符號,共計128個字符。在計算機中,通常用一個字節(jié)來存放一個字符。在ASCII碼表中,數(shù)字和英文字母都是按順序排列的,只要知道其中一個的二進(jìn)制代碼,不要查表就可以推導(dǎo)出其他數(shù)字或字母的二進(jìn)制代碼。ASCII字符編碼表2.字符串的存放

字符串是指一串連續(xù)的字符。例如,字符串IFX>0THENREAD(C)。

向量存放法在存儲器中占用一片連續(xù)的空間,每個字節(jié)存放一個字符代碼,字符串的所有元素(字符)在物理上是鄰接的。在字長為32位的存儲器,每一個主存單元可存放4個字符,整個字符串需5個主存單元。在每個字節(jié)中實際存放的是相應(yīng)字符的ASCII碼。IFX>0THENREA(C)D字符串的向量存放方案5449462020202030454541444852433E2928584E圖2-7字符串的向量存放方案1.漢字國標(biāo)碼漢字國標(biāo)碼亦可稱為漢字交換碼,主要用于漢字信息處理系統(tǒng)之間或者通信系統(tǒng)之間交換信息使用,簡稱GB碼。該標(biāo)準(zhǔn)共收集常用漢字6763個,另外還有各種圖形符號682個,共計7445個。GB碼規(guī)定每個漢字、圖形符號都用兩個字節(jié)表示,每個字節(jié)只使用低七位編碼,因此最多能表示出128×128=16384個漢字。2.3.2漢字的表示區(qū)位碼將漢字編碼碼中的6763個漢字分為94個區(qū),每個區(qū)中包含94個漢字(位),區(qū)和位組成一個二維數(shù)組,每個漢字在數(shù)組中對應(yīng)一個唯一的區(qū)位碼。漢字的區(qū)位碼定長4位,前2位表示區(qū)號,后2位表示位號,區(qū)號和位號用十進(jìn)制數(shù)表示,區(qū)號從01到94,位號也從01到94。例如,“中”字在54區(qū)的48位上,其區(qū)位碼為“54-48”,“國”字在25區(qū)的90位上,其區(qū)位碼為“25-90”。2.漢字區(qū)位碼需要注意的是:漢字區(qū)位碼并不等于漢字國標(biāo)碼,它們兩者之間的關(guān)系可用以下公式表示:

國標(biāo)碼=區(qū)位碼(十六進(jìn)制)+2020H例15:已知漢字“春”的區(qū)位碼為“20-26”,計算它的國標(biāo)碼。區(qū)位碼:第1字節(jié)第2字節(jié)2026十進(jìn)制↓↓14H1AH十六進(jìn)制+20H+20H

國標(biāo)碼:34H3AH2.漢字區(qū)位碼(續(xù))漢字在計算機內(nèi)部其內(nèi)碼是唯一的。因為漢字處理系統(tǒng)要保證中西文的兼容,當(dāng)系統(tǒng)中同時存在ASCII碼和漢字國標(biāo)碼時,將會產(chǎn)生二義性。例如:有兩個字節(jié)的內(nèi)容為30H和21H,它既可表示漢字“啊”的國標(biāo)碼,又可表示西文“0”和“!”的ASCII碼。為此,漢字機內(nèi)碼應(yīng)對國標(biāo)碼加以適當(dāng)處理和變換。GB碼的機內(nèi)碼為二字節(jié)長的代碼,它是在相應(yīng)GB碼的每個字節(jié)最高位上加“1”,即漢字機內(nèi)碼=漢字國標(biāo)碼+8080H例如,上述“啊”字的國標(biāo)碼是3021H,其漢字機內(nèi)碼則是B0A1H。3.漢字機內(nèi)碼

漢字字形碼是指確定一個漢字字形點陣的代碼,又叫漢字字模碼或漢字輸出碼。在一個漢字點陣中,凡筆畫所到之處,記為“1”,否則記為“0”。根據(jù)對漢字質(zhì)量的不同要求,可有16×16、24×24、32×32或48×48的點陣結(jié)構(gòu)。顯然點陣越大,輸出漢字的質(zhì)量越高,每個漢字所占用的字節(jié)數(shù)也越高。4.漢字字形碼

信息處理應(yīng)用對字符集提出了多文種、大字量、多用途的要求,解決問題的最佳方案是設(shè)計一種全新的編碼方法,這就是統(tǒng)一代碼(Unicode)。

Unicode的基本方法是用一個16位來表示每個符號,這意味著允許表示65536個不同的字符或符號。這種符號集被稱為基本多語言平面(BMP),基本多語言平面的字符編碼為U+hhhh,其中每個h代表一個十六進(jìn)制數(shù)字,與UCS-2編碼完全相同。2.3.3統(tǒng)一代碼

UCS-4是一個更大的尚未填充完全的31位字符集,加上恒為0的首位,共需占據(jù)32位,即4字節(jié)。理論上最多能表示231個字符,完全可以涵蓋一切語言所用的符號。目前,Unicode計劃使用了17個平面(1個基本語言平面和16個輔助平面,一共有17×65536=1114112個碼位。2.3.3統(tǒng)一代碼(續(xù))微機中表示字符的3種方法圖2-8微機中表示字符的3種方法2.4十進(jìn)制數(shù)和數(shù)串的表示十進(jìn)制是人們最常用的數(shù)據(jù)表示方法,一些通用性較強的計算機上設(shè)有十進(jìn)制數(shù)據(jù)的表示,可以直接對十進(jìn)制數(shù)進(jìn)行運算和處理。2.4.1十進(jìn)制數(shù)的編碼用四位二進(jìn)制數(shù)來表示一位十進(jìn)制數(shù),稱為二進(jìn)制編碼的十進(jìn)制數(shù),簡稱BCD碼。四位二進(jìn)制數(shù)可以組合出16種代碼,能表示16種不同的狀態(tài),我們只需要使用其中的10種狀態(tài),就可以表示十進(jìn)制數(shù)的0~9十個數(shù)碼,而其他的六種狀態(tài)為冗余狀態(tài)。由于可以取任意的10種代碼來表示十個數(shù)碼,所以就可能產(chǎn)生多種BCD編碼。BCD編碼既具有二進(jìn)制數(shù)的形式,又保持了十進(jìn)制數(shù)的特點。幾種常見的BCD碼1.8421碼8421碼又稱為NBCD碼,其主要特點是:⑴它是一種有權(quán)碼,四位二進(jìn)制代碼的位權(quán)從高到低分別為8、4、2、1。⑵簡單直觀。每個代碼與它所代表的十進(jìn)制數(shù)之間符合二進(jìn)制數(shù)和十進(jìn)制數(shù)相互轉(zhuǎn)換的規(guī)則。⑶不允許出現(xiàn)1010~1111。這6個代碼在8421碼中是非法碼。2.2421碼

2421碼的主要特點是:⑴它也是一種有權(quán)碼,四位二進(jìn)制代碼的位權(quán)從高到低分別為2、4、2、1。⑵它又是一種對9的自補碼。即某數(shù)的2421碼,只要自身按位取反,就能得到該數(shù)對9之補的2421碼。例如:3的2421碼是0011。3對9之補是6,而6的2421碼是1100。⑶不允許出現(xiàn)0101~1010。這6個代碼在2421碼中是非法碼。3.余3碼余3碼的主要特點是:⑴這是一種無權(quán)碼,但也可看作是一種特殊的有權(quán)碼,即在8421碼的基礎(chǔ)上加+3(+0011)形成的,故稱余3碼。在這種編碼中各位的“1”不表示一個固定的十進(jìn)制數(shù)值,因而不直觀。⑵它也是一種對9的自補碼。⑶不允許出現(xiàn)0000~0010、1101~1111。這6個代碼在余3碼中是非法碼。4.格雷碼Gray碼的主要特點是:

⑴它也是一種無權(quán)碼。

⑵從一種代碼變到相鄰的下一種代碼時,只有一個二進(jìn)制位的狀態(tài)在發(fā)生變化。

⑶具有循環(huán)特性,即首尾兩個數(shù)的Gray碼也只有一個二進(jìn)制位不同,因此Gray碼又稱為循環(huán)碼。

⑷十進(jìn)制Gray碼也有6個代碼為非法碼,視具體方案而定。2.4.2十進(jìn)制數(shù)串1.非壓縮的十進(jìn)制數(shù)串非壓縮的十進(jìn)制數(shù)串中一個字節(jié)存放一個十進(jìn)制數(shù)或符號的ASCII-7碼。非壓縮的十進(jìn)制數(shù)串又分成前分隔式數(shù)字串和后嵌入式數(shù)字串兩種格式。在前分隔式數(shù)字串中,符號位占用單獨一個字節(jié),放在數(shù)值位之前,正號對應(yīng)的ASCII碼為2BH,負(fù)號對應(yīng)的ASCII碼為2DH。在后嵌入式數(shù)字串中,符號位不單獨占用一個字節(jié),而是嵌入到最低一位數(shù)字里邊去。若數(shù)串為正,則最低一位數(shù)字0~9的ASCII碼不變(30H~39H);若數(shù)串為負(fù),把負(fù)號變?yōu)?0H,并將其與最低數(shù)值位相加,此時數(shù)字0~9的ASCII碼變?yōu)?0H~79H。

2.壓縮的十進(jìn)制數(shù)串壓縮的十進(jìn)制數(shù)串,一個字節(jié)可存放兩位BCD碼表示的十進(jìn)制數(shù),既節(jié)省了存儲空間,又便于直接進(jìn)行十進(jìn)制算術(shù)運算。在主存中,一個壓縮的十進(jìn)制數(shù)串占用連續(xù)的多個字節(jié),每位數(shù)字僅占半個字節(jié),其值常用8421碼表示。符號位也占半個字節(jié),并存放在最低數(shù)值位之后,通常用CH表示正號,DH表示負(fù)號。在這種表示中,規(guī)定數(shù)字的個數(shù)加符號位之和必須為偶數(shù);當(dāng)和為奇數(shù)時,應(yīng)在最高數(shù)值位之前補0H(即第一個字節(jié)的高半字節(jié)為“0000”)。2.5不同類型的數(shù)據(jù)表示舉例

前面已經(jīng)討論了許多種不同類型的數(shù)據(jù)表示,這里將以實際應(yīng)用廣泛的C語言中的數(shù)據(jù)類型和現(xiàn)代微機中的數(shù)據(jù)表示作為實例進(jìn)行介紹。2.5.1

C語言中的數(shù)據(jù)表示

C語言的基本數(shù)據(jù)類型有整型數(shù)據(jù)、實

型數(shù)據(jù)、字符型數(shù)據(jù)等。C語言中支持多種整數(shù)類型,二進(jìn)制整數(shù)分為無符號整數(shù)和帶符號整數(shù)。C語言中有float和double兩種不同浮點數(shù)類型,分別對應(yīng)IEEE754單精度浮點數(shù)格式(32位)和雙精度浮點數(shù)格式(64位)。2.5.2現(xiàn)代微機系統(tǒng)中的數(shù)據(jù)表示舉例現(xiàn)代的微機系統(tǒng)大多采用Intel系列的微處理器,近年來,Intel的微處理器有了極大的發(fā)展,形成了IA-32結(jié)構(gòu)。

IA-32結(jié)構(gòu)的基本數(shù)據(jù)類型是字節(jié)、字、雙字、四字和雙四字。

IA-32結(jié)構(gòu)的基本數(shù)據(jù)類型圖2-9IA-32結(jié)構(gòu)的基本數(shù)據(jù)類型1.無符號整數(shù)無符號整數(shù)是包含字節(jié)、字、雙字和四字的無符號的二進(jìn)制數(shù)。無符號整數(shù)的范圍,對于字節(jié),從0~255;對于字,從0~65535;對于雙字,從0~232-1;對于四字,從0~264-1。2.帶符號整數(shù)帶符號整數(shù)是包含字節(jié)、字、雙字和四字的帶符號的二進(jìn)制定點整數(shù)。正數(shù)的符號位為0,負(fù)數(shù)的符號位為1。對于字節(jié),從-128~+127;對于字,從

-32768~+32767;對于雙字,從-231~+231-1;對于四字,從-263~+263-1。3.浮點數(shù)與IEEE754標(biāo)準(zhǔn)所規(guī)定的格式直接對應(yīng)。4.指針數(shù)據(jù)指針是主存單元的地址,IA-32結(jié)構(gòu)定義了兩種類型的指針:近指針(32位)和遠(yuǎn)指針(48位)。5.串?dāng)?shù)據(jù)

包括位串、字節(jié)串、字串和雙字串。一個串可以包含從一個字節(jié)到4GB的內(nèi)容。6.BCD數(shù)IA-32結(jié)構(gòu)中所指的BCD碼實際上是指8421碼。BCD數(shù)又分成未拼裝的BCD(UBCD)數(shù)和拼裝的BCD數(shù)兩種。UBCD數(shù)的一個字節(jié)僅包含一位十進(jìn)制數(shù),在3~0位上;而經(jīng)過拼裝的BCD數(shù),一個字節(jié)包含兩位十進(jìn)制數(shù),其低位在3~0位上,高位在7~4位上。2.6數(shù)據(jù)校驗碼數(shù)據(jù)校驗碼是指那些能夠發(fā)現(xiàn)錯誤或能夠自動糾正錯誤的數(shù)據(jù)編碼,又稱之為“檢錯糾錯編碼”。任何一種編碼都由許多碼字構(gòu)成,任意兩個碼字之間最少變化的二進(jìn)制位數(shù),被稱為數(shù)據(jù)校驗碼的碼距。例如,用四位二進(jìn)制表示16種狀態(tài),則有16個不同的碼字,此時碼距為1,即兩個碼字之間最少僅有一個二進(jìn)制位不同(如0000與0001之間)。這種編碼沒有檢錯能力,因為當(dāng)某一個合法碼字中有一位或幾位出錯,就變成為另一個合法碼字了。2.6.1奇偶校驗碼1.奇偶校驗概念奇偶校驗碼是一種最簡單的數(shù)據(jù)校驗碼,它的碼距等于2,可以檢測出一位錯誤(或奇數(shù)位錯誤),但不能確定出錯的位置,也不能檢測出偶數(shù)位錯誤。奇偶校驗實現(xiàn)方法是:由若干位有效信息(如一個字節(jié)),再加上一個二進(jìn)制位(校驗位)組成校驗碼。

圖2-11奇偶校驗碼奇偶校驗規(guī)律校驗位的取值(0或1)將使整個校驗碼中“1”的個數(shù)為奇數(shù)或偶數(shù),所以有兩種可供選擇的校驗規(guī)律:奇校驗──整個校驗碼(有效信息位和校驗位)中“1”的個數(shù)為奇數(shù)。

偶校驗──整個校驗碼中“1”的個數(shù)為偶數(shù)。2.簡單奇偶校驗簡單奇偶校驗僅實現(xiàn)橫向的奇偶校驗,下表給出幾個字節(jié)的奇偶校驗碼的編碼結(jié)果。最高一位為校驗位,其余8位為信息位。在實際應(yīng)用中,多采用奇校驗,因為奇校驗中不存在全“0”代碼,在某些場合下更便于判別。有效信息(8位)奇校驗碼(9位)偶校驗碼(9位)000000001000000000000000000101010000101010010101010001111111001111111101111111111111111111111110111111112.簡單奇偶校驗(續(xù))⑴校驗位形成當(dāng)要把一個字節(jié)的代碼D7~D0寫入主存時,就同時將它們送往奇偶校驗邏輯電路,該電路產(chǎn)生的“奇形成”信號就是校驗位。它將與8位代碼一起作為奇校驗碼寫入主存。若D7~D0中有偶數(shù)個“1”,則“奇形成”=1,

若D7~D0中有奇數(shù)個“1”,則“奇形成”=0。奇偶校驗位的形成及校驗電路圖2-12奇偶校驗位的形成及校驗電路2.簡單奇偶校驗(續(xù))⑵校驗檢測讀出時,將讀出的9位代碼(8位信息位和1位校驗位)同時送入奇偶校驗電路檢測。若讀出代碼無錯,則“奇校驗出錯”=0;若讀出代碼中的某一位上出現(xiàn)錯誤,則“奇校驗出錯”=1,從而指示這個9位代碼中一定有某一位出現(xiàn)了錯誤,但具體的錯誤位置是不能確定的。CPUCPU奇偶校驗電路主存奇偶校驗電路采用奇校驗8位8位9位9位0101010101010101101010101110101010101010101101010101101010101101010111有4個1有5個1正確出錯有6個1中斷處理奇偶校驗舉例例1:若采用奇校驗,下述兩個數(shù)據(jù)的校驗位的值是多少?(1)0101001(2)0011011答:(1)數(shù)據(jù)0101001的奇校驗位值為01010011=0;(2)數(shù)據(jù)0011011的奇校驗位值為00110111=1。例2:若下列奇偶校驗碼中只有一個有錯誤,請問采用的是奇/偶校驗?為什么?(1)10001101(2)01101101(3)10101001答:上述奇偶校驗碼采用的是偶校驗編碼方式。原因為由于三個奇偶校驗碼中分別有偶數(shù)、奇數(shù)、偶數(shù)個“1”,而只有一個校驗碼有錯誤,故第2個奇偶校驗碼(01101101)有錯誤;又由于第2個奇偶校驗碼有奇數(shù)個“1”,故校驗碼采用的是偶校驗編碼方式。3.交叉奇偶校驗計算機在進(jìn)行大量字節(jié)(數(shù)據(jù)塊)傳送時,不僅每一個字節(jié)有一個奇偶校驗位做橫向校驗,而且全部字節(jié)的同一位也設(shè)置一個奇偶校驗位做縱向校驗,這種橫向、縱向同時校驗的方法稱為交叉校驗。第1字節(jié)11001011→1第2字節(jié)01011100→0第3字節(jié)10011010→0第4字節(jié)10010101→0↓↓↓↓↓↓↓↓

100110003.交叉奇偶校驗(續(xù))交叉校驗可以發(fā)現(xiàn)兩位同時出錯的情況,假設(shè)第2字節(jié)的A6、A4兩位均出錯,橫向校驗位無法檢出錯誤,但是第A6、A4位所在列的縱向校驗位會顯示出錯,這與前述的簡單奇偶校驗相比要保險多了。2.6數(shù)據(jù)校驗碼2.6.2漢明校驗碼多重奇偶校驗原理是:在有效信息位中加入幾個校驗位形成漢明碼,并把漢明碼的每一個二進(jìn)制位分配到幾個奇偶校驗組中。當(dāng)某一位出錯后,就會引起有關(guān)的幾個校驗位的值發(fā)生變化,這不但可以發(fā)現(xiàn)錯誤,還能指出錯誤的位置。2.6數(shù)據(jù)校驗碼1、編碼若傳輸信息為1自己,則信息位N=8,校驗位K=5,故漢明碼的總位數(shù)為13位:

H13H12

…H2H1

校驗位P5~P1對應(yīng)的漢明碼位號應(yīng)分別為:H13

、H8

、H4

、H2

、H1

,P5放在漢明碼的最高位上。因此,有如下排列關(guān)系:

P5

D8D7D6D5

P4

D4D3D2

P3

D1

P2P1

2.6數(shù)據(jù)校驗碼各個信息位形成Pi

值的公式如下:

P1=D1D2D4D5D7

P2=D1D3D4D6D7

P3=D2D3D4D8

P4=D5D6D7D8依據(jù)各信息位形成Pi(i=1~4)值時,不同信息位出現(xiàn)在Pi項中的次數(shù)是不一樣的,其中D4和D7都出現(xiàn)三次,而D1、D2、D3、D5、D6、D8僅出現(xiàn)兩次,為此,還要補充一位P5校驗位:

P5=D1D2D3D5D6D82.6數(shù)據(jù)校驗碼2、校驗將接收到的漢明碼按如下進(jìn)行校驗:

S1=P1D1D2D4D5D7

S2=P2D1D3D4D6D7

S3=P3D2D3D4D8

S4=P4D5D6D7D8S5=P5D1D2D3D5D6D8校驗得到的結(jié)果值S5~S1(指誤字),它能反映13位漢明碼的出錯情況:2.6數(shù)據(jù)校驗碼

⑴當(dāng)S5~S1為00000時,表明無錯。⑵當(dāng)S5~S1中僅有一位不為0,表明是某一校驗位出錯或三位漢明碼(包括信息位和校驗位)同時出錯。⑶當(dāng)S5~S1中有兩位不為0,表明是兩位漢明碼同時出錯,此時只能發(fā)現(xiàn)錯誤,而無法確定出錯的位置。⑷當(dāng)S5~S1中有三位不為0,表明是一位信息位出錯或三位校驗位同時出錯,出錯位的位號由S4~S1四位編碼值指明。2.6數(shù)據(jù)校驗碼

⑸當(dāng)S5~S1中有四位或五位不為0時,表明出錯情況嚴(yán)重,系統(tǒng)工作可能出現(xiàn)故障,應(yīng)檢查系統(tǒng)硬件的正確性。當(dāng)五個Si位有三個為1時,表示是某一信息位Di出錯。出錯信息位的漢明碼位號由S4~S1這四位的譯碼值指出(分別為12、11、10、9、7、6、5、3)。例如,當(dāng)S5~S1=00111時,S4~S1的譯碼值為7,即對應(yīng)H7(也就是D4

)位出錯。2.6數(shù)據(jù)校驗碼例:設(shè)有一個8位信息為10101100,試求海明編碼的生成和校驗過程。1.編碼生成按偶校驗有:

P1=D1D2D4D5D7=00100=1P2=D1D3D4D6D7=01110=1P3=D2D3D4D8=0111=1P4=D5D6D7D8=0101=0P5=D1D2D3D5D6D8=001011=1∴可得到用二進(jìn)制表示的漢明碼為:

1

1010

0

110

1

0

1

1P5D8D7D6D5

P4

D4D3D2

P3D1

P2P12.6數(shù)據(jù)校驗碼2.校驗假設(shè)傳送后H11(D7)位發(fā)生了錯誤:

11

1

1001101011

出錯將接受到的碼字重新進(jìn)行偶校驗:

S1=100101=1S2=101111=1S3=10111=0S4=00111=1S5=1001011=0S1=P1D1D2D4D5D7S2=P2D1D3D4D6D7S3=P3D2D3D4D8S4=P4D5D6D7D8S5=P5D1D2D3D5D6D8所以指誤字為01011,相應(yīng)的十進(jìn)制數(shù)是11,指出H11出錯。即:錯誤碼:11

1

1001101011↓

糾正后:11

0

1001101011

2.6數(shù)據(jù)校驗碼2.6.3循環(huán)冗余校驗碼在計算機網(wǎng)絡(luò)、同步通信以及磁表面存儲器中廣泛使用循環(huán)冗余校驗碼(CRC碼)。循環(huán)冗余校驗碼是通過除法運算來建立有效信息位和校驗位之間的約定關(guān)系的。假設(shè),待編碼的有效信息以多項式M(X)表示,用另一個約定的多項式G(X)去除,所產(chǎn)生的余數(shù)R(X)就是檢驗位。有效信息和檢驗位相拼接就構(gòu)成了CRC碼。2.6數(shù)據(jù)校驗碼校驗時:當(dāng)整個CRC碼被接收后,仍用約定的多項式G(X)去除余數(shù)為0表明該代碼是正確的余數(shù)不為0表明某一位出錯,再進(jìn)一步由余數(shù)值確定出錯的位置,以便進(jìn)行糾正。循環(huán)冗余校驗碼編碼規(guī)律如下:⑴把待編碼的N位有效信息表示為多項式M(X)。⑵把M(X)左移K位,得到M(X)×XK,這樣空出了K位,以便拼裝K位余數(shù)(即校驗位)。⑶選取一個K+1位的產(chǎn)生多項式G(X),對M(X)×XK

作模2除。⑷把左移K位以后的待編有效信息與余數(shù)R(X)作模2加,拼接為CRC碼,此時的CRC碼共有N+K位。

M(X)×XK+R(X)=Q(X)×G(X)目前廣泛使用的生成多項式主要有以下四種:CRC12=X^12+X^11+X^3+X^2+1CRC16=X^16+X^15+X^2+1(IBM公司)CRC16=X^16+X^12+X^5+1(國際電報電話咨詢委員會CCITT)CRC32=X^32+X^26+X^23+X^22+X^16+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X+1冗余碼的計算方法是:先將信息碼后面補0,補0的個數(shù)是生成多項式最高次冪;將補零之后的信息碼用模二除法(非二進(jìn)制除法)除以G(X)對應(yīng)的2進(jìn)制碼,注意除法過程中所用的減法是模2減法,即沒有借位的減法,也就是異或運算。當(dāng)被除數(shù)逐位除完時,得到比除數(shù)少一位的余數(shù)。此余數(shù)即為冗余位,將其添加在信息位后便構(gòu)成CRC碼字。如10110010000/11001:余數(shù)=10102.6數(shù)據(jù)校驗碼--循環(huán)冗余校驗碼例如,選擇產(chǎn)生多項式為1011,把4位有效信息1100編成CRC碼。

M(X)=X3+X2=1100M(X)×X3=X6+X5=1100000G(X)=X3+X+1=1011信息位后加0的個數(shù)為產(chǎn)生多項式位數(shù)減1

M(X)×X3+R(X)=1100000+010=1100010除法運算為模2除,沒有借位的減法運算,即作異或運算譯碼與糾錯A1A2A3A4A5A6A7余數(shù)出錯位正確

1100010

000無出錯

11000110017

11000000106

11001101005

11010100114

11

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論