02計(jì)算機(jī)中數(shù)據(jù)信息的表示35630_第1頁(yè)
02計(jì)算機(jī)中數(shù)據(jù)信息的表示35630_第2頁(yè)
02計(jì)算機(jī)中數(shù)據(jù)信息的表示35630_第3頁(yè)
02計(jì)算機(jī)中數(shù)據(jù)信息的表示35630_第4頁(yè)
02計(jì)算機(jī)中數(shù)據(jù)信息的表示35630_第5頁(yè)
已閱讀5頁(yè),還剩136頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 計(jì)算機(jī)中數(shù)據(jù)信息的表示進(jìn)位計(jì)數(shù)制與數(shù)制轉(zhuǎn)換帶符號(hào)數(shù)的表示數(shù)的定點(diǎn)表示與浮點(diǎn)表示非數(shù)值型數(shù)據(jù)的表示十進(jìn)制數(shù)串的表示數(shù)據(jù)校驗(yàn)碼7/13/20221南理工紫金學(xué)院數(shù)據(jù)信息數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù)定點(diǎn)數(shù)浮點(diǎn)數(shù)邏輯數(shù)字符與字符串漢字信息聲音、圖像、動(dòng)畫(huà)等十進(jìn)制數(shù)串7/13/20222南理工紫金學(xué)院2.1 進(jìn)位計(jì)數(shù)制與數(shù)制轉(zhuǎn)換1. 進(jìn)位計(jì)數(shù)制的兩個(gè)因素基值和位權(quán)值任何 R 進(jìn)制數(shù) N 均可表示為 :基值。表示系數(shù) 可以取0,1, 共 個(gè)數(shù)字并且是逢 進(jìn)一的 。 :位權(quán)值。 表示 在數(shù)列中的實(shí)際數(shù)值。按權(quán)展開(kāi)多項(xiàng)式和公式7/13/20223南理工紫金學(xué)院2. 計(jì)算機(jī)中常用進(jìn)位計(jì)數(shù)制二進(jìn)制( R=2 )

2、數(shù)字: 0,1進(jìn)位方式: 逢2進(jìn)1 ,高位借1當(dāng)2 后綴:B 如10100011B 或 (10100011)2八進(jìn)制( R=8 )數(shù)字:0,1,2,3,4,5,6,7 進(jìn)位方式: 逢8進(jìn)1,高位借1當(dāng)8后綴:O 或 Q 如137.67Q 或 (137.67)87/13/20224南理工紫金學(xué)院十進(jìn)制( R=10 )數(shù)字:0,1,2,3,4,5,6,7,8,9進(jìn)位方式:逢10進(jìn)1,高位借1當(dāng)10后綴:D 或 無(wú) 如1359.26D 或 1359.26 或 (1359.26)10十六進(jìn)制( R=16 )數(shù)字: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E,

3、 F 進(jìn)位方式:逢16進(jìn)1,高位借1當(dāng)16 后綴:H 如 19BF.36EH 或 (19BF.36E)167/13/20225南理工紫金學(xué)院數(shù)制轉(zhuǎn)換時(shí)整數(shù)部分、小數(shù)部分分別進(jìn)行轉(zhuǎn)換。1. 任意R進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)方法:按權(quán)相加。例: 將二進(jìn)制數(shù)11011.101轉(zhuǎn)換為十進(jìn)制數(shù)。 (11011.101)224 23 21202123168+210.50.125(27.625)103. 數(shù)制轉(zhuǎn)換7/13/20226南理工紫金學(xué)院例: 將八進(jìn)制數(shù)263.56轉(zhuǎn)換為十進(jìn)制數(shù)。 (263.56)82826813805816821284830.6250.09375179.71875例: 將十六進(jìn)制數(shù)B3

4、.B8轉(zhuǎn)換為十進(jìn)制數(shù)。 (B3.B8)1611161316011161816217630.68750.03125179.718757/13/20227南理工紫金學(xué)院2.十進(jìn)制數(shù)轉(zhuǎn)換為任意R進(jìn)制數(shù)方法:整數(shù)部分和小數(shù)部分分別處理。整數(shù)部分:除基取余 把被轉(zhuǎn)換的十進(jìn)制整數(shù)除以基數(shù)R,取其余數(shù)即為R進(jìn)制整數(shù)的最低位的數(shù)字。 再用基數(shù)R去除前次所得的商,所得余數(shù)即為R進(jìn)制整數(shù)相應(yīng)位的數(shù)字。 重復(fù),直到商為0為止。7/13/20228南理工紫金學(xué)院小數(shù)部分:乘基取整 把被轉(zhuǎn)換的十進(jìn)制小數(shù)乘以基數(shù)R,取乘積的整數(shù)部分作為R進(jìn)制小數(shù)的最高位的數(shù)字。 再用基數(shù)R乘前一步乘積的小數(shù)部分,取新的乘積的整數(shù)部分為R

5、進(jìn)制小數(shù)相應(yīng)位的數(shù)字。 重復(fù),直到乘積的小數(shù)部分為0或求得所要求的位數(shù)為止。例: 將(116.842)10轉(zhuǎn)換為二進(jìn)制數(shù)(截?cái)喾?,保?位小數(shù))7/13/20229南理工紫金學(xué)院 整數(shù)部分: 余數(shù) 2 11605822902141270231211201低整數(shù)部分(116)10=(1110100)27/13/202210南理工紫金學(xué)院小數(shù)部分: 乘積0.842 2.68400 2.36810 2.73600 2.47210 2.94400 2.88810高小數(shù)部分:(0.842)10=(0.110101)2(116.842)10=(1110100.110101)217/13/202211南理工

6、紫金學(xué)院例: 將(233.8125)10轉(zhuǎn)換為十六進(jìn)制數(shù)。 整數(shù)部分 16 233 9 16 14 E 0 小數(shù)部分 0.8125 16 4.8750 + 8.125 D.0000 (233.8125)10(E9.D)167/13/202212南理工紫金學(xué)院二進(jìn)制數(shù)與八進(jìn)制數(shù)之間的轉(zhuǎn)換方法:二進(jìn)制數(shù)八進(jìn)制數(shù) 整數(shù)部分:從最低有效位開(kāi)始,每三位二進(jìn)制數(shù)對(duì)應(yīng)一 位八 進(jìn)制數(shù),不足三位高位補(bǔ)“0”。 小數(shù)部分:從最高有效位開(kāi)始,每三位二進(jìn)制數(shù)對(duì)應(yīng)一 位八進(jìn)制數(shù),不足三位,低位補(bǔ)“0”。八進(jìn)制數(shù)二進(jìn)制數(shù) 將被轉(zhuǎn)換的八進(jìn)制數(shù)的每一位用三位二進(jìn)制表示。3. 二、八、十六進(jìn)制數(shù)之間的轉(zhuǎn)換7/13/20221

7、3南理工紫金學(xué)院二進(jìn)制與十六進(jìn)制數(shù)間的轉(zhuǎn)換方法:二進(jìn)制數(shù)十六進(jìn)制數(shù) 整數(shù)部分:從最低有效位開(kāi)始,每四位二進(jìn)制數(shù)對(duì)應(yīng)一 位十六進(jìn)制數(shù),不足四位高位補(bǔ)“0”。 小數(shù)部分:從最高有效位開(kāi)始,每四位二進(jìn)制數(shù)對(duì)應(yīng)一 位十六進(jìn)制數(shù),不足四位,低位補(bǔ)“0”。十六進(jìn)制數(shù)二進(jìn)制數(shù) 將被轉(zhuǎn)換的十六進(jìn)制數(shù)的每一位用四位二進(jìn)制表示。7/13/202214南理工紫金學(xué)院例: 將 (1011100.10111)2轉(zhuǎn)換為八進(jìn)制和十六進(jìn)制數(shù)。 轉(zhuǎn)為八進(jìn)制數(shù): 1 011 100.101 11 轉(zhuǎn)為十六進(jìn)制數(shù): 101 1100.1011 143001506.(1011100.10111)2=(134.56)8C05B0008

8、(1011100.10111)2=(5C.B8)16 .例:(76.12)8=( )2例:(8E.4A)16=( )2111 110.001 0101000 1110.0100 10107/13/202215南理工紫金學(xué)院例: 將(36.25)8轉(zhuǎn)換為十六進(jìn)制數(shù)。先轉(zhuǎn)為二進(jìn)制數(shù): (36.25)8=(011 110 . 010 101)2 3 6 2 5再轉(zhuǎn)為十六進(jìn)制:(0001 1110 . 0101 0100)2=(1E.54)16 1 E 5 4 八進(jìn)制與十六進(jìn)制數(shù)間的轉(zhuǎn)換方法: 八進(jìn)制 二進(jìn)制 十六進(jìn)制7/13/202216南理工紫金學(xué)院習(xí)題2.1(1)(246.625)D=( 111

9、10110.101 )B=( 366.5 )Q=( F6.A )H(2)(AB.D)H=( 10101011.1101 )B=( 253.64 )Q=( 171.8125 )D習(xí)題2.24位十進(jìn)制:4*log210=4*3.3=13.214位二進(jìn)制5位十進(jìn)制:5*3.3=16.517位二進(jìn)制8位十進(jìn)制:8*3.3=26.427位二進(jìn)制習(xí)題2.3K2K1=00時(shí),K是4的倍數(shù)。7/13/202217南理工紫金學(xué)院2.2 帶符號(hào)數(shù)的表示一、機(jī)器數(shù)與真值真值:用|A|表示的實(shí)際數(shù)值。機(jī)器數(shù):計(jì)算機(jī)中的數(shù)據(jù)。(1)機(jī)器數(shù)的特點(diǎn):符號(hào)和數(shù)值均二進(jìn)制代碼化。小數(shù)點(diǎn)隱含在某一固定位置上,不占存儲(chǔ)空間。位數(shù)受

10、機(jī)器字長(zhǎng)的限制。超過(guò)機(jī)器字長(zhǎng)的數(shù)值位要舍去。7/13/202218南理工紫金學(xué)院(2)機(jī)器數(shù)可分為: 無(wú)符號(hào)數(shù):機(jī)器字長(zhǎng)的所有二進(jìn)制位均表示數(shù)值 帶符號(hào)數(shù):第1個(gè)二進(jìn)制位為符號(hào)位,其余為數(shù)值部分例:8位機(jī)器數(shù)為:11011011若為無(wú)符號(hào)整數(shù),其真值為 219若為帶符號(hào)整數(shù),且采用原碼表示,則最高位為符號(hào), 1 1011011 表示二進(jìn)制整數(shù) -1011011,其真值為 -917/13/202219南理工紫金學(xué)院二、原碼表示1. 原碼的定義純小數(shù):設(shè)x=0.x1x2xn,則純整數(shù):設(shè)x=x1x2xn ,則x原=x1-x=1+|x|0 x1-1x 0 x原=x, x0=02n-x=2n+|x|0

11、 x2n-2nx 0 x原= x0.x1x2xn,共n+1位, x原= x0 x1x2xn,共n+1位 ,其中,x0為符號(hào)位。其中,x0為符號(hào)位。7/13/202220南理工紫金學(xué)院例: 當(dāng)x=+0.1101時(shí),x原= _,在機(jī)器中表示為_(kāi) 當(dāng)x=-0.1101時(shí),x原= _ 當(dāng)x=+1110時(shí),x原= _ ,在機(jī)器中表示為_(kāi) 當(dāng)x=-1110時(shí),x原= _ 符號(hào)取反數(shù)值位不變 0 ,1 數(shù)值位不變0.1101011011.1101011101111001110結(jié)論:1)當(dāng)x為+時(shí),x0=0 ,當(dāng)x為-時(shí), x0=1 。2)x原 真值x 3)x原 -x原原碼的簡(jiǎn)便求法7/13/202221南理

12、工紫金學(xué)院2. 原碼中0的表示原碼中“0”有兩種表示純小數(shù): 0原 0原純整數(shù): 0原 0原0.0001.0000001007/13/202222南理工紫金學(xué)院3. 原碼的表示范圍對(duì)于純小數(shù),n1位原碼的數(shù)據(jù)表示范圍: 0.111110.11111 n位 n位即-(1-2-n) (1-2-n),分辨率為2-n ,共可表示 2n1-1 個(gè)數(shù)對(duì)于純整數(shù),n1位原碼的數(shù)據(jù)表示范圍: 1111111111 n位 n位即-(2n-1) (2n-1),分辨率為1,共可表示 2n1-1 個(gè)數(shù)7/13/202223南理工紫金學(xué)院4. 原碼的移位規(guī)則 符號(hào)位不變,數(shù)值部分左移或右移,移出的空位填0。x原左移1位

13、,得到2x原; x原右移1位,得到 x原。例: 已知x原 0.0110000,則 x原 ,2x原例: 已知x原 1110,則 x原 , x原 , 2x原原碼左移時(shí)若將有效位移出(x1=1),則出錯(cuò)。出錯(cuò)0.00110000.11000001011100111007/13/202224南理工紫金學(xué)院5. 原碼的優(yōu)缺點(diǎn)優(yōu)點(diǎn): 1) 簡(jiǎn)單; 2) 與真值的轉(zhuǎn)換容易。缺點(diǎn): 1) 0有兩種表示,給使用帶來(lái)不便; 2) 原碼表示的加減運(yùn)算復(fù)雜。7/13/202225南理工紫金學(xué)院三、補(bǔ)碼表示1. 補(bǔ)碼概念的引入模:是指一個(gè)計(jì)量系統(tǒng)的量程。如時(shí)鐘的模為12,記作mod 12。 在計(jì)算機(jī)中,超過(guò)字長(zhǎng)的被丟失

14、的量就是模。 例如,一個(gè)m位的寄存器,若存放的是純小數(shù),則模為2,若存放的是純整數(shù),則模為2m。 補(bǔ)數(shù): x補(bǔ)Mx (mod M) 1)當(dāng)x0時(shí), x補(bǔ)x 。 2)當(dāng)x0時(shí),x補(bǔ)MxM|x|。對(duì)于某一確定的模,減去一個(gè)數(shù)可用加上那個(gè)數(shù)的負(fù)數(shù)的補(bǔ)數(shù)來(lái)代替。7/13/202226南理工紫金學(xué)院2. 補(bǔ)碼的定義純小數(shù):設(shè)x=0.x1x2xn,x補(bǔ)= x0. x1x2xn,共n+1位,其中x0為符號(hào)位。 純整數(shù):設(shè)x=x1x2xn,x補(bǔ)= x0 x1x2xn,共n+1位,其中x0為符號(hào)位。 x補(bǔ)=x2+x0 x1-1x0(mod 2 )x補(bǔ)=x, x0=02n+1+x0 x2n-2nx0(mod 2n

15、+1 )7/13/202227南理工紫金學(xué)院例: 當(dāng)x0.1011, x補(bǔ) 當(dāng)x0.1011,x補(bǔ) 當(dāng)x1011, x補(bǔ) 當(dāng)x1011,x補(bǔ)0.10112x10.00000.10111.01010101125x100000101110101結(jié)論:當(dāng)x為+時(shí),x0=0 ,當(dāng)x為-時(shí), x0=1 。7/13/202228南理工紫金學(xué)院3. 補(bǔ)碼的簡(jiǎn)便求法: (1) 若x0 ,則x補(bǔ)x,且置x0為0; 若x0,則置x0為1,將x的數(shù)值位按位取反,末位加1,即得到x補(bǔ)。 (2) 若x0 ,則x補(bǔ)x,且置x0為0; 若x0,則置x0為1 ,再?gòu)膞的最低位向高位掃描,找到第一個(gè)1后,保持該1和比其低位的各

16、位不變,其余數(shù)值位按位取反,即得到x補(bǔ)。取反加1法掃描法7/13/202229南理工紫金學(xué)院4. 特殊數(shù)的補(bǔ)碼表示真值0的補(bǔ)碼表示 純小數(shù): 純整數(shù):-1和-2n的補(bǔ)碼表示 純小數(shù)的-1: 1補(bǔ)1.000 (mod 2) 純整數(shù)的-2n : 2n補(bǔ)1000 (mod 2n1)0補(bǔ)0補(bǔ)0.0000補(bǔ)0補(bǔ)0007/13/202230南理工紫金學(xué)院5. 補(bǔ)碼的范圍 對(duì)于n1位補(bǔ)碼,其表示范圍為:純小數(shù): 純整數(shù): 112n,共2n1個(gè)數(shù),比原碼多表示了-1。2n2n1,共2n1個(gè)數(shù),比原碼多表示了2n。例:n=7時(shí),純整數(shù)的補(bǔ)碼表示范圍為:-128+1277/13/202231南理工紫金學(xué)院6. 補(bǔ)

17、碼的幾個(gè)關(guān)系1)補(bǔ)碼與原碼及真值的關(guān)系若 x0,則x補(bǔ)x原x(x0=0)若 x0, x補(bǔ) x x補(bǔ) x原注意:補(bǔ)碼中特殊數(shù)1(純小數(shù))和2n(純整數(shù))的表 示,在原碼中沒(méi)有對(duì)應(yīng)表示。符號(hào)1不變數(shù)值位按位取反,末位+1 1 數(shù)值位按位取反,末位+17/13/202232南理工紫金學(xué)院例:已知x原=0.0101,則x補(bǔ)=已知x補(bǔ)=1.0011,則x原=0.01011.11017/13/202233南理工紫金學(xué)院2) x補(bǔ)與-x補(bǔ)的關(guān)系x補(bǔ)稱(chēng)為機(jī)器正數(shù), -x補(bǔ)稱(chēng)為機(jī)器負(fù)數(shù)。求-x補(bǔ),也稱(chēng)為對(duì)x補(bǔ)的求補(bǔ)或變補(bǔ)。-x補(bǔ)= x補(bǔ) +1(末位)x補(bǔ) -x補(bǔ) 例:已知x補(bǔ)1.0011010,則-x補(bǔ) 已知-

18、x補(bǔ)01100101 ,則x補(bǔ) 找低位的第一個(gè)1該1及其后的0不變,其他位(含符號(hào)位)取反0.1100110100110117/13/202234南理工紫金學(xué)院7. 補(bǔ)碼的移位關(guān)系補(bǔ)碼的右移 規(guī)則: 符號(hào)位不變,數(shù)值位右移,空位補(bǔ)與符號(hào)位相同的代碼。 x補(bǔ)右移1位,得到 x補(bǔ)。補(bǔ)碼的左移 規(guī)則: 符號(hào)位不變,數(shù)值位左移,空位補(bǔ)0。x補(bǔ)左移1位,得到2x補(bǔ) 。7/13/202235南理工紫金學(xué)院例:已知x補(bǔ)1.0011010 ,則 x補(bǔ)已知x補(bǔ)1.1111010 ,則2x補(bǔ)已知x補(bǔ)10110010 ,則2x補(bǔ) 已知x補(bǔ)01000001,則2x補(bǔ)1.1001101出錯(cuò)!對(duì)!1.1110100111

19、00100注意:若x0 x1 ,則補(bǔ)碼左移時(shí)出錯(cuò)。出錯(cuò)!000000107/13/202236南理工紫金學(xué)院8. 補(bǔ)碼的幾何性質(zhì) 表2-1 n=3時(shí)所有整數(shù)的補(bǔ)碼7/13/202237南理工紫金學(xué)院01234567-1-2-3-4-5-6-7-80000001001001000101011001110011000010011010110011011110111110111真值補(bǔ)碼圖2-1 補(bǔ)碼的幾何性質(zhì)7/13/202238南理工紫金學(xué)院9. 補(bǔ)碼的模補(bǔ)碼總是對(duì)確定的模而言的,且在運(yùn)算過(guò)程中,模不能改變。如果補(bǔ)碼運(yùn)算結(jié)果大于等于模,則要自動(dòng)丟模。 例: x補(bǔ)y補(bǔ)01101101因?yàn)檎麛?shù)補(bǔ)碼的模

20、不同,所以不同位數(shù)的補(bǔ)碼不能直接進(jìn)行運(yùn)算。如需進(jìn)行運(yùn)算,需要先進(jìn)行符號(hào)擴(kuò)展。 例:x補(bǔ)y補(bǔ)110101111011 1 0011001111010111111110111 11010010110100107/13/202239南理工紫金學(xué)院10. 補(bǔ)碼的特點(diǎn)x為正時(shí),x0=0 ,x為負(fù)時(shí), x0=1,且x0參與運(yùn)算。補(bǔ)碼表示中,“0”的表示是唯一的。補(bǔ)碼比原碼多表示了純小數(shù)的-1和純整數(shù)的-2n。補(bǔ)碼運(yùn)算中,減法可轉(zhuǎn)為加法來(lái)做。7/13/202240南理工紫金學(xué)院四、反碼表示 反碼實(shí)質(zhì)上是補(bǔ)碼的一個(gè)特例,區(qū)別在于反碼的模比補(bǔ)碼的模小一個(gè)最低位上的 1。1. 反碼的定義純小數(shù):設(shè)x=0.x1x2

21、xn,x反= x0. x1x2xn純整數(shù):設(shè)x=x1x2xn,x反= x0 x1x2xnx反=x(2-2-n )+x0 x1-1x0(mod (2-2-n ) )x反=x, x0=0(2n+1-1)+x0 x2n-2nA+4HAA+3HA+2HFA+1HIA+0H)A+13HKA+12H(A+11HA+10HDA+FHAA+EHEA+DHRA+CH A+BHNA+AHNA+9H A+8HRA+7HEA+6HA A+5HDA+4H A+3H(A+2HK A+1H)A+0HIA+13HFA+12H A+11HAA+10HA+FHBA+EH A+DHTA+CHHA+BHEA+AH按字節(jié)編址(a)(b

22、)例: 字符串: IF AB THEN READ (K)7/13/202294南理工紫金學(xué)院 AA+0HFI TA+4HBN A+8HEH ADA+CHERK)A+10H( 1023FIA+0HABA+4HTEHA+8HN ERA+CHAD( A+10Hk)1023(a)(b)按字編址(一個(gè)字為四個(gè)字節(jié)) 字符串: IF AB THEN READ (K)7/13/202295南理工紫金學(xué)院三、漢字信息的表示漢字輸入碼漢字機(jī)內(nèi)碼漢字交換碼漢字字形碼存儲(chǔ)、處理鍵盤(pán)輸入交換漢字信息顯示、打印漢字處理過(guò)程:1. 漢字輸入碼漢字輸入碼:漢字輸入操作者使用的漢字編碼。分為拼音碼(全拼、智能ABC)、筆形碼

23、(五筆字型、鄭碼)、混合碼(音形碼) 、數(shù)字碼(區(qū)位碼、電報(bào)碼)等編碼方式。7/13/202296南理工紫金學(xué)院2. 漢字交換碼漢字交換碼:用于不同漢字系統(tǒng)間交換漢字信息,具有統(tǒng)一的標(biāo)準(zhǔn)。1980年國(guó)家標(biāo)準(zhǔn)總局公布了信息交換用漢字編碼字符集,即GB231280,簡(jiǎn)稱(chēng)國(guó)標(biāo)碼。該標(biāo)準(zhǔn)共收集7445個(gè)漢字和圖形符號(hào)。國(guó)標(biāo)碼規(guī)定每個(gè)漢字、圖形符號(hào)都用兩個(gè)字節(jié)表示,每個(gè)字節(jié)只使用最低七位。兩個(gè)字節(jié)的最高位均為0。1995年公布了GBK1.0,擴(kuò)展到2.1萬(wàn)多個(gè)漢字。2000年公布了正式標(biāo)準(zhǔn)GB18030,擴(kuò)展到2.7萬(wàn)多個(gè)漢字。7/13/202297南理工紫金學(xué)院3. 漢字機(jī)內(nèi)碼漢字機(jī)內(nèi)碼:用于漢字信息

24、的存儲(chǔ)、處理等操作的機(jī)內(nèi)代碼,一般采用兩個(gè)字節(jié)表示。機(jī)內(nèi)碼國(guó)標(biāo)碼8080H例: 在國(guó)標(biāo)碼中,3C46H表示漢字“計(jì)”,會(huì)與二進(jìn)制編碼3CH和46H兩個(gè)字節(jié)分別表示ASCII碼字符的“”和“F”相混淆。將兩個(gè)字節(jié)的最高位置“1”后得到的機(jī)內(nèi)碼BCC6H來(lái)表示漢字“計(jì)”。7/13/202298南理工紫金學(xué)院4. 漢字字形碼漢字字形碼:用于記錄漢字的外形,主要用于漢字的顯示和打印。有兩種記錄方法:點(diǎn)陣法和矢量法,分別對(duì)應(yīng)點(diǎn)陣碼和矢量碼。(1)點(diǎn)陣碼 用點(diǎn)陣來(lái)表示漢字。如1616點(diǎn)陣(多用于顯示)、2424點(diǎn)陣、3232點(diǎn)陣,4848點(diǎn)陣、6464點(diǎn)陣、128128點(diǎn)陣等(多用于打?。?。7/13/20

25、2299南理工紫金學(xué)院例:1616的漢字字形點(diǎn)陣,每個(gè)漢字要占用32個(gè)字節(jié)。7/13/2022100南理工紫金學(xué)院(2)矢量碼 用一組數(shù)學(xué)矢量來(lái)記錄漢字的外形輪廓。矢量碼記錄的字體稱(chēng)為矢量字體或輪廓字體?,F(xiàn)在在Windows里普遍使用輪廓字體(稱(chēng)為T(mén)rue Type字體),如宋體、Times New Roman, Arial等。字形碼的存儲(chǔ) 由于漢字字形碼所占存儲(chǔ)空間很大,因此通常以漢字庫(kù)的形式存儲(chǔ)在硬盤(pán)上。 當(dāng)顯示輸出或打印輸出時(shí),根據(jù)某種定位算法將漢字機(jī)內(nèi)碼轉(zhuǎn)為相應(yīng)的漢字字庫(kù)地址,檢索字庫(kù),輸出字形碼。7/13/2022101南理工紫金學(xué)院例:用戶(hù)要將“計(jì)”輸入計(jì)算機(jī)用于打印或傳輸。(輸入

26、法采用智能ABC)漢字輸入碼漢字機(jī)內(nèi)碼漢字交換碼漢字字形碼BCC6H用戶(hù)輸入“ji”傳輸打印3C46H輸入法軟件根據(jù)定位算法得到漢字庫(kù)的地址,檢索漢字庫(kù)7/13/2022102南理工紫金學(xué)院1字符串形式 編碼方法:十進(jìn)制數(shù)的每一個(gè)數(shù)字看做一個(gè)字符,用其一個(gè)字節(jié)的ASCII碼來(lái)表示。根據(jù)對(duì)數(shù)串中符號(hào)的不同處理方式,又分為前分隔數(shù)字串和后嵌入數(shù)字串兩種表示形式。2.5 十進(jìn)制數(shù)串的表示7/13/2022103南理工紫金學(xué)院(1) 前分隔數(shù)字串方法:符號(hào)位單獨(dú)占一個(gè)字節(jié),用其ASCII碼來(lái)表示,并放在數(shù)字位的前面。(“+” 的ASCII碼為2BH, “-” 的ASCII碼為2DH。)例: +135

27、與 2678 在內(nèi)存中表示形式為:共占4個(gè)字節(jié)共占5個(gè)字節(jié)7/13/2022104南理工紫金學(xué)院(2) 后嵌入數(shù)字串方法:符號(hào)位不獨(dú)占一個(gè)字節(jié),而是嵌入到最低位數(shù)字的編碼中。其規(guī)則是:若符號(hào)為正,則最低位數(shù)字的ASCII碼+0H;若符號(hào)為負(fù),則最低位數(shù)字的ASCII碼+ 40H。例: +135 與 2678 在內(nèi)存中表示形式為:共占3個(gè)字節(jié)共占4個(gè)字節(jié)7/13/2022105南理工紫金學(xué)院結(jié)論:后嵌入表示方式比前分隔方式少用一個(gè)字節(jié),但其最低有效位需有特殊編碼,既表示該位的數(shù)值,又同時(shí)表示數(shù)的符號(hào)。十進(jìn)制數(shù)的字符串表示主要應(yīng)用于非數(shù)值處理,如顯示、打印。對(duì)十進(jìn)制數(shù)的算術(shù)運(yùn)算很不方便。7/13/

28、2022106南理工紫金學(xué)院將十進(jìn)制數(shù)串的每一個(gè)數(shù)字用4位的8421BCD碼表示,符號(hào)單獨(dú)占半個(gè)字節(jié)(通常用1100表示正號(hào),1101表示負(fù)號(hào)),并放在最低數(shù)值位之后。規(guī)定數(shù)字個(gè)數(shù)加符號(hào)位之和必須是偶數(shù),否則在最高位前補(bǔ)半字節(jié)的0。 例: +135 與2678 在內(nèi)存中表示形式為:共占2個(gè)字節(jié)共占3個(gè)字節(jié)2. 壓縮的十進(jìn)制數(shù)串7/13/2022107南理工紫金學(xué)院結(jié)論:壓縮的十進(jìn)制數(shù)串既節(jié)省了存儲(chǔ)空間,又便于直接進(jìn)行十進(jìn)制算術(shù)運(yùn)算,是廣泛采用的十進(jìn)制數(shù)串表示方式。與字符串表示方法類(lèi)似,為了指明一個(gè)十進(jìn)制數(shù)串,需要指明該數(shù)串在主存中的起始地址和串的長(zhǎng)度。7/13/2022108南理工紫金學(xué)院2.

29、6 數(shù)據(jù)校驗(yàn)碼數(shù)據(jù)校驗(yàn)碼:具有檢測(cè)某些錯(cuò)誤或帶有自動(dòng)糾正錯(cuò)誤能力的數(shù)據(jù)編碼方式。常用的數(shù)據(jù)校驗(yàn)碼:奇偶校驗(yàn)碼海明校驗(yàn)碼循環(huán)冗余校驗(yàn)碼(CRC碼)7/13/2022109南理工紫金學(xué)院一、 奇偶校驗(yàn)碼1. 基本原理 在n位的有效信息位AnAn-1A1上,加1位校驗(yàn)位P,構(gòu)成n+1位的奇偶校驗(yàn)碼AnAn-1A1P或PAnAn-1A1。若P使n+1位的校驗(yàn)碼中“1”的個(gè)數(shù)為偶數(shù) ,則稱(chēng)為偶校驗(yàn) ,校驗(yàn)位P又記作Peven 。2. 編碼方法(發(fā)送方)Peven AnAn-1A2A1Podd Peven (奇數(shù))(奇校驗(yàn))(Podd)7/13/2022110南理工紫金學(xué)院例:求7位信息碼1100111的

30、奇校驗(yàn)碼和偶校驗(yàn)碼(設(shè)校驗(yàn)位在最低位)。解:(1)偶校驗(yàn)碼 Peven 11001111 偶校驗(yàn)碼為11001111。 (2)奇校驗(yàn)碼 Podd 11001110 奇校驗(yàn)碼為11001110。7/13/2022111南理工紫金學(xué)院奇偶校驗(yàn)位的形成電路(7位)=1=1=1=1=1=1A7A6A5A4A3A2A11PevenPodd7/13/2022112南理工紫金學(xué)院3. 校驗(yàn)方法(接收方) 若接收到的奇校驗(yàn)碼中“1”的個(gè)數(shù)為偶數(shù),或接收到的偶校驗(yàn)碼中“1”的個(gè)數(shù)為奇數(shù),則表示有一位出錯(cuò)。 設(shè)接收方接收到的校驗(yàn)碼為AnAn-1A1 Peven或AnAn-1A1 Podd ,則:Eeven AnA

31、n-1 A1 Peven Eodd AnAn-1 A1 Podd 其中,E0,表示無(wú)錯(cuò); E1,表示校驗(yàn)出錯(cuò)7/13/2022113南理工紫金學(xué)院奇偶校驗(yàn)碼的校驗(yàn)電路=1=1=1=1=1=1A71EevenEodd=1A6A5A4A3A2A1P7/13/2022114南理工紫金學(xué)院例:仍以前面的七位有效信息的奇偶校驗(yàn)碼為例,若發(fā)送方發(fā)送的奇校驗(yàn)碼為11001110,經(jīng)網(wǎng)絡(luò)傳送后,若接收方收到的奇校驗(yàn)碼為:11011110 Eodd= 1101111 0 = 1,認(rèn)為有錯(cuò)。10101111 Eodd =1,認(rèn)為有錯(cuò)。11100110 Eodd =0,認(rèn)為無(wú)錯(cuò)!7/13/2022115南理工紫金學(xué)

32、院4. 奇偶校驗(yàn)碼的校錯(cuò)能力只能發(fā)現(xiàn)奇數(shù)位個(gè)錯(cuò)誤,而無(wú)法發(fā)現(xiàn)偶數(shù)位個(gè)錯(cuò)誤,并且無(wú)法自動(dòng)糾正錯(cuò)誤。 在CPU與主存的信息傳送過(guò)程中,奇偶校驗(yàn)被廣泛應(yīng)用。7/13/2022116南理工紫金學(xué)院二、海明校驗(yàn)碼1. 基本原理 在奇偶校驗(yàn)的基礎(chǔ)上,設(shè)置多個(gè)校驗(yàn)位,構(gòu)成多組奇偶校驗(yàn),使每一個(gè)信息位被兩個(gè)或兩個(gè)以上校驗(yàn)位校驗(yàn),從而不僅可以發(fā)現(xiàn)錯(cuò)誤,而且還能確定出錯(cuò)位置,進(jìn)而能自動(dòng)糾正錯(cuò)誤。2. 校驗(yàn)位位數(shù)的選擇 設(shè)有效信息位的位數(shù)為n,校驗(yàn)位的位數(shù)為k,則檢1糾1錯(cuò)的海明校驗(yàn)碼應(yīng)滿(mǎn)足下面關(guān)系: 2kn+k+1 7/13/2022117南理工紫金學(xué)院表2-15 海明校驗(yàn)碼中有效信息位的位數(shù)與校驗(yàn)位位數(shù)的關(guān)系7

33、/13/2022118南理工紫金學(xué)院3. 海明校驗(yàn)碼的編碼步驟(1) n位有效信息選擇k個(gè)校驗(yàn)位,構(gòu)成n+k位的海明校驗(yàn)碼。若校驗(yàn)碼位號(hào)從左向右(或從右向左)按從1到n+k排列,則校驗(yàn)位的位號(hào)分別為2i(i0,1,2k-1),校驗(yàn)位記作P2i,有效信息位按原順序安排在其余位置上。 (2) k個(gè)校驗(yàn)位構(gòu)成k組奇偶校驗(yàn),每個(gè)有效信息位都被兩個(gè)或兩個(gè)以上的校驗(yàn)位校驗(yàn),規(guī)則:被校驗(yàn)的有效信息位的位號(hào)等于校驗(yàn)它的校驗(yàn)位位號(hào)之和。(3) 統(tǒng)計(jì)參與各組奇偶校驗(yàn)的位號(hào),按奇偶校驗(yàn)原理,由已知的有效信息位求出各校驗(yàn)位,進(jìn)而形成海明校驗(yàn)碼。7/13/2022119南理工紫金學(xué)院例:字符 K的ASCII碼為1001

34、011,試為其編制一個(gè)檢1糾1錯(cuò)的海明校驗(yàn)碼(假設(shè)采用偶校驗(yàn))。解:A7A6A5A4A3A2A11001101 P1evenA7A6A4A3A1101011 P2evenA7A5A4A2A1101110 P4evenA6A5A40011 P8evenA3A2A10110因此得到ASCII碼字符 K的海明校驗(yàn)碼為:101100100117/13/2022120南理工紫金學(xué)院例:試為字節(jié)信息10110011編制一個(gè)檢1糾1錯(cuò)的海明碼(假設(shè)采用偶校驗(yàn))。解:n為8,則選擇k為4。共四組偶校驗(yàn)(P1、P2、P4 、P8)。位號(hào): 1 2 3 4 5 6 7 8 9 10 11 12海明碼:P1P21P

35、4011P80011P1P2P1P4P2P4P1P2P4P1P8P2P8P4P8P1P2P8P1:1、0、1、0、1 P2:1、1、1、0、1P4:0、 1、1、1 P8:0、0、1 、1P1even=1P2even=0P4even=1P8even=0海明碼為:1011011000117/13/2022121南理工紫金學(xué)院4. 海明校驗(yàn)碼的校驗(yàn)方法對(duì)K組奇偶校驗(yàn)碼分別進(jìn)行校驗(yàn),校驗(yàn)結(jié)果形成K位的“指誤字” EkEk-1E2E1。 若EkEk-1E2E1 全0,則表示無(wú)錯(cuò); 若EkEk-1E2E1 全0,則表示有錯(cuò),并且指誤字代碼所對(duì)應(yīng)的十進(jìn)制值就是出錯(cuò)位的位號(hào)。將該位取反,錯(cuò)誤碼即得到自動(dòng)糾正

36、。7/13/2022122南理工紫金學(xué)院例:上例中字符 K的海明校驗(yàn)碼為10110010011(采用偶校驗(yàn)),若接收方接收到的海明碼為:10110010011 E1evenP1A7A6A4A3A1=110101=0 E2evenP2A7A5A4A2A1=010111=0 E3evenP4A6A5A4 =1001=0 E4evenP8A3A2A1=0011=0 指誤字E4E3E2E1 0000,無(wú)錯(cuò)!7/13/2022123南理工紫金學(xué)院10111010011 E1evenP1A7A6A4A3A1=111101=1 E2evenP2A7A5A4A2A1=010111=0 E3evenP4A6A5

37、A4 =1101=1 E4evenP8A3A2A1=0011=0指誤字E4E3E2E1 0101B=5,認(rèn)為位號(hào)為5的那位出錯(cuò),并將其自動(dòng)取反,得到10110010011??梢?jiàn)能正確糾錯(cuò)!7/13/2022124南理工紫金學(xué)院10111110011 E1evenP1A7A6A4A3A1=111101=1 E2evenP2A7A5A4A2A1=011111=1 E3evenP4A6A5A4 =1111=0 E4evenP8A3A2A1=0011=0指誤字E4E3E2E10011B=3,認(rèn)為位號(hào)為3的那位出錯(cuò),并將其自動(dòng)取反,得到10011110011。可見(jiàn)越糾越錯(cuò)!5. 糾錯(cuò)能力 僅在只有一個(gè)錯(cuò)

38、誤時(shí),才能檢1糾1錯(cuò),否則越糾越錯(cuò)。7/13/2022125南理工紫金學(xué)院6. 擴(kuò)展海明校驗(yàn)碼檢2糾1錯(cuò)的海明碼(1) 編碼 在檢1糾1錯(cuò)海明碼的基礎(chǔ)上,增加一個(gè)校驗(yàn)位P0(位號(hào)為0),使其對(duì)整個(gè)海明碼進(jìn)行奇偶校驗(yàn)。例:字符 K的檢1糾1錯(cuò)海明校驗(yàn)碼為10110010011,則擴(kuò) 展的海明碼為P0 10110010011。(2) 校驗(yàn) 首先由P0對(duì)整個(gè)擴(kuò)展的海明校驗(yàn)碼進(jìn)行校驗(yàn),校驗(yàn)結(jié)果為E0。然后再按檢1糾1錯(cuò)海明校驗(yàn)碼對(duì)各組進(jìn)行校驗(yàn),得到指誤字EkEk-1E2E1。( P0even=0)7/13/2022126南理工紫金學(xué)院若校驗(yàn)結(jié)果 E00, EkE1 000 認(rèn)為無(wú)錯(cuò)。 E01, EkE

39、1 000 認(rèn)為P0出錯(cuò),并自動(dòng)糾錯(cuò)。 E00, EkE1 000 認(rèn)為有兩位(偶數(shù)位)出錯(cuò),不自動(dòng)糾錯(cuò)。 E01, EkE1 000 認(rèn)為有一位出錯(cuò),根據(jù)EkE1的值確定出錯(cuò)位號(hào)并自動(dòng)糾正。7/13/2022127南理工紫金學(xué)院三、碼距編碼的距離:通常把一組編碼中任何兩個(gè)編碼之間代碼不同的位數(shù)稱(chēng)為這兩個(gè)編碼的距離。碼距:在一組編碼中最小的距離稱(chēng)為這組編碼的碼距,也稱(chēng)海明距離,記作d。如ASCII碼的碼距d為1。校驗(yàn)位越多,碼距d越大,編碼的檢錯(cuò)和糾錯(cuò)能力越強(qiáng)。碼距與糾錯(cuò)能力的關(guān)系是:de1 可檢驗(yàn)e個(gè)錯(cuò)。d2t1 可糾正t個(gè)錯(cuò)。det1且et 可檢e個(gè)錯(cuò)且能糾正t個(gè)錯(cuò)。7/13/202212

40、8南理工紫金學(xué)院奇偶校驗(yàn)碼碼距為2,可檢測(cè)1個(gè)錯(cuò)。海明校驗(yàn)碼碼距為3,可檢1糾1錯(cuò)。擴(kuò)展海明校驗(yàn)碼碼距為4,可檢2糾1錯(cuò)。7/13/2022129南理工紫金學(xué)院四、循環(huán)冗余校驗(yàn)碼(CRC碼)CRC碼廣泛用于磁盤(pán)、磁帶等輔助存儲(chǔ)器的校驗(yàn),在計(jì)算機(jī)網(wǎng)絡(luò)和通信中亦被廣泛采用。1. 模2運(yùn)算不考慮進(jìn)位和借位的二進(jìn)制運(yùn)算模2加減:用異或規(guī)則實(shí)現(xiàn)按位加減。(即奇數(shù)個(gè)1值為1,偶數(shù)個(gè)1值為0) 000 01101 110例: 1101+1001 0110- 1001 0011+10110100111110007/13/2022130南理工紫金學(xué)院例: 1100010111000000110000000111100 1001110110010000100110011100101 模2乘:按模2加的規(guī)則求部分積之和,不進(jìn)位。7/13/2022131南理工紫金學(xué)院模2除:按模2減求部分余數(shù),不借位。 上商規(guī)則:若部分余數(shù)(首次為被除數(shù))的最高位為1,則上商為1,否則上商為0。每求一位商后,使部分余數(shù)減少一位,即去掉部分余數(shù)的最高位,再繼續(xù)求下一位

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論