2025年計(jì)算機(jī)組成原理第2章_第1頁(yè)
2025年計(jì)算機(jī)組成原理第2章_第2頁(yè)
2025年計(jì)算機(jī)組成原理第2章_第3頁(yè)
2025年計(jì)算機(jī)組成原理第2章_第4頁(yè)
2025年計(jì)算機(jī)組成原理第2章_第5頁(yè)
已閱讀5頁(yè),還剩104頁(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第二章數(shù)據(jù)的表示和運(yùn)算2§2.1數(shù)據(jù)的編碼一、數(shù)制及其轉(zhuǎn)換1、進(jìn)位記數(shù)制*進(jìn)位記數(shù)制:又稱進(jìn)制或數(shù)制,是用一組固定的符號(hào)和統(tǒng)一的規(guī)則來(lái)表示數(shù)值的方法。參數(shù)有數(shù)碼、基數(shù)和位權(quán)*常用的4種進(jìn)制:二進(jìn)制八進(jìn)制十進(jìn)制十六進(jìn)制數(shù)碼0,10,1,…,70,1,…,90,1,…,9,A,B,…,F基數(shù)281016位權(quán)2i8i10i16i書(shū)寫(xiě)形式BODH*R進(jìn)制數(shù)表示:(N

)R=(kn-1…k1k0.k-1k-2…k-m)R=

其中,ki∈{0,1,…(R-1)}32、R進(jìn)制數(shù)→十進(jìn)制數(shù)轉(zhuǎn)換

例1—(101.01)2=(1×22+1×20+1×2-2)10=(5.25)10

(3A.C)16=(3×161+10×160+12×16-1)10=(58.75)103、十進(jìn)制數(shù)→R進(jìn)制數(shù)轉(zhuǎn)換(1)十進(jìn)制整數(shù)→R進(jìn)制整數(shù)轉(zhuǎn)換

例2—

余數(shù)2191(最低位)291240220211(最高位)0(19)10=(10011)2

余數(shù)8193(最低位)822(最高位)0(19)10=(23)8*轉(zhuǎn)換規(guī)則:按位權(quán)展開(kāi)*整數(shù)轉(zhuǎn)換規(guī)則:除基取余、上右下左4(2)十進(jìn)制小數(shù)→R進(jìn)制小數(shù)轉(zhuǎn)換

整數(shù)部分0.6875×2=1.3751(最高位)0.375×2=0.750

0.75×2=1.510.5×2=1.01(最低位)(0.6875)10

=(0.1011)2

整數(shù)部分0.6875×8=5.55(最高位)0.5×8=4.04

(最低位)

(0.6875)10

=(0.54)8

例3—將(0.6875)10分別轉(zhuǎn)換成二、八進(jìn)制數(shù)(3)十進(jìn)制數(shù)→R進(jìn)制數(shù)轉(zhuǎn)換

*轉(zhuǎn)換規(guī)則:整數(shù)部分、小數(shù)部分分別轉(zhuǎn)換后再合并

練習(xí)1—(19.6875)10=(X)2=(Y)8,X=?Y=?*小數(shù)轉(zhuǎn)換規(guī)則:乘基取整、上左下右54、二、八、十六進(jìn)制數(shù)相互轉(zhuǎn)換

*數(shù)位長(zhǎng)度關(guān)系:1個(gè)八進(jìn)制、十六進(jìn)制數(shù)位=3

bit、4

bit*轉(zhuǎn)換規(guī)則:從小數(shù)點(diǎn)向兩邊分別轉(zhuǎn)換,

數(shù)位不夠時(shí)補(bǔ)零、無(wú)效的零刪除

例4—(13.724)8=(001

011.111

010

100)2=(1011.1110101)2

(10011.01)2=(010

011.010)2=(23.2)8

例5—(2B.E)16=(0010

1011.1110)2=(101011.111)2

(11001.11)2=(0001

1001.1100)2=(19.C)16

練習(xí)2—(21.75)10=(X)2=(Y)8=(Z)16,X=?Y=?Z=?(2D.E)16=(A)2=(B)8=(C)10,A=?B=?C=?6二、機(jī)器數(shù)及其編碼*數(shù)值數(shù)據(jù):組成—[符號(hào)+]數(shù)值[+小數(shù)點(diǎn)+數(shù)值]

運(yùn)算—符號(hào)與數(shù)值分開(kāi)運(yùn)算,減法先比較大小*機(jī)器數(shù):計(jì)算機(jī)內(nèi)部編碼表示的數(shù)值數(shù)據(jù)如(+101)2→(0101)2、(-101)2→(1101)2

真值—數(shù)學(xué)上帶+/-號(hào)的數(shù)值數(shù)據(jù)*機(jī)器數(shù)的編碼方法:運(yùn)算方法分析—①采用手工運(yùn)算方法,硬件實(shí)現(xiàn)困難☆②采用新運(yùn)算方法,以利于硬件實(shí)現(xiàn)

編碼方法—原碼、補(bǔ)碼、反碼、移碼等,

均用二進(jìn)制表示←硬件僅0/1兩個(gè)狀態(tài)符號(hào)/數(shù)值一起運(yùn)算減法不比較大小新的編碼方法[]表示可缺省71、原碼(Sign-magnitude)表示法*基本思想:機(jī)器數(shù)最高位表示真值的符號(hào)(0/1表示+/-),

其余位為真值的絕對(duì)值*整數(shù)原碼定義:

設(shè)X=±xn-2…x0,則[X]原=xn-1xn-2…x0,[X]原

=X

0≤X<2n-12n-1

-

X

=

2n-1

+|X|-2n-1<X≤0

例1—[+1101]原=01101;[-1101]原=11101

例2—若[X]原=1101,則X=-101

例3—若[+X]原=0110,則[-X]原=1110

若[+Y]原=0000,則[-Y]原=1000

※[+0]原≠[-0]原

練習(xí)1—若X=-01000,則[X]原=?若[Y]原=101010,則Y=?符號(hào)位數(shù)值位8*小數(shù)原碼定義:

設(shè)X=±0.x-1…x-(n-1),則[X]原=x0.x-1…x-(n-1)[X]原

=X

0≤X<11-X=1+|X|-1<X≤0

例4—[+0.1001]原=0.1001;[-0.1001]原=1.1001

例5—若[X]原=1.01,則X=-0.01*原碼的特性:①X與[X]原關(guān)系—·[X]原與X表示值的范圍相同,

·[+0]原≠[-0]原②運(yùn)算方法—符號(hào)與數(shù)值分開(kāi)運(yùn)算(與手工運(yùn)算一致)

└→適合于乘除法,加減法較復(fù)雜編碼時(shí)0可省略92、補(bǔ)碼(Two’scomplement)表示法

*編碼目標(biāo):符號(hào)與數(shù)值一起運(yùn)算,減法無(wú)需比較大小*有模運(yùn)算:運(yùn)算只計(jì)量小于“?!钡牟糠?,多余部分被丟棄?!?jì)量系統(tǒng)的計(jì)數(shù)范圍(1)有模運(yùn)算與補(bǔ)數(shù)示例—時(shí)針從10點(diǎn)撥向7點(diǎn):①10-3=7;②10+9=7+12=7*補(bǔ)數(shù):若a、b、M滿足a+b=M,稱a、b互為模M的補(bǔ)數(shù)

同余—若A、B、M滿足A=B+kM(k為有符號(hào)整數(shù)),則記

A≡B(mod

M),稱B和A為模M的同余

運(yùn)算特征—c-a

=

c-(M-b)

=

c+b

(modM),即減去一個(gè)數(shù)等價(jià)于加上這個(gè)數(shù)的補(bǔ)數(shù)└→可將減法運(yùn)算轉(zhuǎn)化為加法運(yùn)算10

*減法無(wú)需比較大小的編碼思路:①負(fù)數(shù)用其正補(bǔ)數(shù)表示,正數(shù)用其本身表示示例—-4≡8(mod12),+8≡8(mod12)

②減法時(shí),減數(shù)用其取負(fù)后編碼表示、進(jìn)行加法運(yùn)算示例—9-4≡5(mod12),4-9≡7(mod12)(2)補(bǔ)碼定義*基本思想:機(jī)器數(shù)最高位表示X的符號(hào)(0/1表示+/-),

其余位為|X|或|X|的補(bǔ)數(shù)*整數(shù)補(bǔ)碼定義:

設(shè)X=±xn-2…x0,則模為2n,[X]補(bǔ)=x’n-1x’n-2…x’0,即[X]補(bǔ)

=

2n

+X(mod2n)

=X

0≤X<2n-12n

+X=2n

-|X|-2n-1≤X<0

說(shuō)明—為實(shí)現(xiàn)“負(fù)數(shù)的x’n-1=1”,模須為2n(不是2n-1)11

練習(xí)2—若X=-01000、Y=+01000,[X]補(bǔ)=?[Y]補(bǔ)=?

例7—n=5、X≥0時(shí),[X]補(bǔ)最大=01111,Xmax=24-1=+15

X<0時(shí),[X]補(bǔ)最小=10000,Xmin=-24=-16

原碼無(wú)11…1110…0110…00

00…0000…0101…11補(bǔ)碼

10…0010…0111…1100…0000…0101…11真值

-2n-1-(2n-1-1)

-1

0

+1+(2n-1-1)[+0000]補(bǔ)=[-0000]補(bǔ)=00000※數(shù)0的補(bǔ)碼惟一※補(bǔ)碼表示數(shù)的個(gè)數(shù)比原碼多1個(gè)

例6—[+0001]補(bǔ)=00001,[-0001]補(bǔ)=10

0000+(-0001)=11111[+1111]補(bǔ)=01111,[-1111]補(bǔ)=10

0000+(-1111)=1000125

最高位為112*小數(shù)補(bǔ)碼定義:

設(shè)X=±0.x-1…x-(n-1),則[X]補(bǔ)=x’0.x’-1…x’-(n-1)[X]補(bǔ)

=

2+X(mod2)

=X

0≤X<12+X=2-|X|-1≤X<0

例8—[+0.1011]補(bǔ)=0.1011[-0.1011]補(bǔ)=2-0.1011=10.0000-0.1011=1.010110

說(shuō)明—模為2(不是1)為實(shí)現(xiàn)“負(fù)數(shù)的x’0=1”*符號(hào)與數(shù)值一起運(yùn)算的原理分析:僅考慮不溢出情況

0100(+4)1111(-1)0101(+5)1011(-5)

+0011(+3)

+1100(-4)

+1100(-4)

+0100(+4)

00111(+7)11011(-5)10001(+1)01111(-1)

結(jié)果正確—同號(hào)加符號(hào)不變,異號(hào)加符號(hào)同絕對(duì)值較大者13②設(shè)X=-xn-2…x0,[Y]補(bǔ)=1yn-2…y0,xi及yi=0或1

則[X]補(bǔ)

=

2n+X

=

[2n-1+(2n-1-1)+1]+X

=10

0+1

1

+

1=1

0

0-

xn-2…x0+

xn-2…x0

+1=

1

xn-2…x0

+

1(3)補(bǔ)碼的特性*X與[X]補(bǔ)的關(guān)系:下述方法同樣適用于純小數(shù)①設(shè)X=+xn-2…x0,[Y]補(bǔ)=0yn-2…y0,xi及yi=0或1

則[X]補(bǔ)

=

X

=

0xn-2…x0

Y

=

[Y]補(bǔ)

=

+

yn-2…y0

Y

=[Y]補(bǔ)-2n

=

1yn-2…y0-[2n-1+(2n-1-1)+1]=

2n-1-2n-1

-(

1…1

-

yn-2…y0

+

1

)

=

-(

yn-2…y0

+

1

)14△X→[X]補(bǔ)—

若X為正數(shù),改符號(hào)位為0,其余各位不變;若X為負(fù)數(shù),改符號(hào)位為1,其余各位取反、末位加1

例9—X=+0101,[X]補(bǔ)=X=-0101,[X]補(bǔ)=0

0101;1

1011△[X]補(bǔ)→X—

若[X]補(bǔ)最高位為0,改其為正號(hào),其余各位不變;若[X]補(bǔ)最高位為1,改其為負(fù)號(hào),其余各位取反、末位加1

例10—[X]補(bǔ)=0

0101,X=+

0101;[X]補(bǔ)=1

1011,X=-

010115△[X]原→[X]補(bǔ)—

若[X]原最高位為0,[X]補(bǔ)=[X]原;

若[X]原最高位為1,[X]補(bǔ)=[X]原各數(shù)值位取反、末位加1

例11—

[X]原=0

0101,[X]補(bǔ)=0

0101;[X]原=1

0101,[X]補(bǔ)=1

1011△[X]補(bǔ)→[X]原—

若[X]補(bǔ)最高位為0,[X]原=[X]補(bǔ);

若[X]補(bǔ)最高位為1,[X]原=[X]補(bǔ)各數(shù)值位取反、末位加1

例12—

[X]補(bǔ)=0

0101,[X]原=0

0101;[X]補(bǔ)=1

0101,[X]原=1

1011符號(hào)位(最高位)不變符號(hào)位(最高位)不變16*[X]補(bǔ)與[-X]補(bǔ)的關(guān)系:

設(shè)[X]補(bǔ)=xn-1xn-2…x0,則

當(dāng)X≥0時(shí),X

=

[X]補(bǔ),其中xn-1=0,

[-X]補(bǔ)

=

1xn-2…x0

+1

=

xn-1xn-2…x0

+1△[X]補(bǔ)→[-X]補(bǔ)—[X]補(bǔ)的各位取反(含符號(hào)位)、末位加1[-X]補(bǔ)→[X]補(bǔ)—[-X]補(bǔ)的各位取反(含符號(hào)位)、末位加1

例13—[X]補(bǔ)=1

0110,[-X]補(bǔ)=

0

1001+1=

0

1010

練習(xí)3—若X=-01001,[-X]補(bǔ)=?若[X]補(bǔ)=101010,[-X]補(bǔ)=?-X=?

當(dāng)X<0時(shí),[X]補(bǔ)

=

2n

-|X|,其中xn-1=1,

[-X]補(bǔ)

=|X|=

2n

-[X]補(bǔ)=11…1-[X]補(bǔ)+1

=

xn-1xn-2…x0

+117

0

01001

0

01001

練習(xí)4—

①若X=+01001,[X]原=,[X]補(bǔ)=

②若X=-01010,[X]原=,[X]補(bǔ)=

1

01010

1

10110

+

01010

0

01010

③若[X]原=001010,X=,[X]補(bǔ)=

④若[X]原=101110,X=,[X]補(bǔ)=

-

01110

1

10010

+

01110

1

10010

⑤若[X]補(bǔ)=001110,X=,[-X]補(bǔ)=

⑥若[X]補(bǔ)=101110,X=,[-X]補(bǔ)=

-

10010

0

10010

0

10101

0

10101

⑦若[-X]補(bǔ)=101011,[X]補(bǔ)=,[X]原=

⑧若[-X]補(bǔ)=001001,[X]補(bǔ)=,[X]原=

1

10111

1

01001

714183、反碼(Ones’complement)表示法

*編碼目標(biāo):作為原碼與補(bǔ)碼相互轉(zhuǎn)換時(shí)的一種過(guò)渡編碼*整數(shù)反碼定義:設(shè)X=±xn-2…x0,取模=2n-1,則[X]反

=

(2n-1)+X(mod2n-1)

=X

0≤X<2n-1(2n-1)+X-2n-1<X≤0*小數(shù)反碼定義:設(shè)X=±0.x-1…x-(n-1),模=2-2-(n-1),則[X]反

=

(2-2-(n-1))

+

X(mod2-2-(n-1))

=X

0≤X<1(2-2-(n-1))+X-1<X≤0

例14—[+1101]反=01101,[-1101]反=1001010

例15—[+0.1101]反=0.1101,[-0.1101]反=1.0010*反碼與補(bǔ)碼關(guān)系:若X為正數(shù),[X]補(bǔ)=[X]反;

若X為負(fù)數(shù),[X]補(bǔ)=[X]反+11911

原碼、補(bǔ)碼、反碼比較:

①機(jī)器數(shù)的最高位均為符號(hào)位(0/1表示正/負(fù))原碼無(wú)11…1110…0110…00

00…0000…0101…11反碼

無(wú)

10…0011…1011…11

00…0000…0101…11補(bǔ)碼

10…0010…0111…1100…0000…0101…11真值

-2n-1-(2n-1-1)

-1

0

+1+(2n-1-1)④[+0]補(bǔ)=[-0]補(bǔ),補(bǔ)碼比原碼、反碼多表示一個(gè)負(fù)數(shù)②若真值X為正數(shù),[X]原=[X]補(bǔ)=[X]反③若真值X為負(fù)數(shù),[X]補(bǔ)=[X]原數(shù)值位各位求反、末位+1

[X]反=[X]原數(shù)值位各位求反移碼

00…0000…0101…1110…0010…0111…11204、移碼表示法

*編碼目標(biāo):數(shù)(含符號(hào)及數(shù)值)連續(xù)時(shí),編碼連續(xù)*整數(shù)移碼定義:

設(shè)X=±xn-2…x0,取模=2n、偏移量=2n-1,則

[X]移

=

2n-1+X(mod2n)

=

2n-1

+

X-2n-1≤X<2n-1

例16—[-111]移=0001,[-001]移=0111,[±000]移=1000,

[+001]移=1001,[+111]移=1111,[-1000]移=0000補(bǔ)碼

10…0010…0111…1100…0000…0101…11移碼

00…0000…0101…1110…0010…0111…11真值

-2n-1-(2n-1-1)

-1

0+1+(2n-1-1)*移碼的特性:①數(shù)在數(shù)軸上為連續(xù)編碼(似無(wú)符號(hào)數(shù)),便于比較大?、赱X]移=[X]補(bǔ)符號(hào)位取反、其余各位不變21三、十進(jìn)制數(shù)編碼*BCD碼(BinaryCodedDecimal):又稱二-十進(jìn)制編碼,是指用4位二進(jìn)制編碼表示1位十進(jìn)制數(shù)位的編碼方式*BCD碼種類:分有權(quán)碼和無(wú)權(quán)碼兩種,最常用的是8421碼十進(jìn)制數(shù)01234567898421碼0000000100100011010001010110011110001001余3碼0011010001010110011110001001101010111100

BCD碼缺省時(shí)指8421碼(特殊聲明除外)!*十進(jìn)制數(shù)的編碼方法:①對(duì)各數(shù)位按序用BCD碼編碼,符號(hào)編碼放在最后;②用特定編碼表示符號(hào)(如1100和1101表示正和負(fù))

例—+427表示為0100001001111100

-123表示為000100100011110122四、字符及字符串編碼1、字符編碼*字符編碼:字符在字符集中惟一的數(shù)字化代碼,表示字符在字符集中的序號(hào)或特征號(hào)*字符編碼的類型:有輸入碼、內(nèi)碼、交換碼、字模碼4種

鍵盤(pán)計(jì)算機(jī)B轉(zhuǎn)換處理傳送字模碼內(nèi)碼輸入碼交換碼顯示器傳送計(jì)算機(jī)A交換碼內(nèi)碼內(nèi)碼字符數(shù)據(jù)字符字模庫(kù)MEM交換碼字符傳送時(shí)的編碼(序號(hào)),僅與字符集大小有關(guān)與輸入法、字符集大小有關(guān)與字體、字號(hào)大小有關(guān)字符存儲(chǔ)時(shí)的編碼(數(shù)據(jù)表示),與字符集大小、存儲(chǔ)器字長(zhǎng)有關(guān)23*有關(guān)字符編碼的習(xí)慣叫法:

字符編碼—均指交換碼的編碼!

字符數(shù)據(jù)—均指內(nèi)碼的編碼!*常見(jiàn)字符編碼(交換碼)種類:編碼種類碼點(diǎn)數(shù)量編碼長(zhǎng)度說(shuō)明ASCII碼1287美國(guó)標(biāo)準(zhǔn)信息交換碼,英文,使用最廣泛EBCDIC碼2568擴(kuò)展二-十進(jìn)制交換碼,英文,IBM定義Unicode碼6553616統(tǒng)一字符碼,支持各國(guó)語(yǔ)言,使用較廣泛ANSI碼2568美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)交換碼,英文,含ASCII碼GB2312-80744514漢字國(guó)標(biāo)碼,中文①碼點(diǎn)數(shù)量—需編碼的信息數(shù)量;

(如交換碼指字符數(shù),字模碼指字符點(diǎn)陣數(shù))②編碼長(zhǎng)度—采用等長(zhǎng)編碼,長(zhǎng)度=log2

碼點(diǎn)數(shù)量,Unicode可變長(zhǎng)242、字符串編碼*字符串特性:

①由多個(gè)字符構(gòu)成②所含字符數(shù)不固定*字符串編碼方法:①由各個(gè)字符編碼組成②通過(guò)特定編碼標(biāo)志字符串的結(jié)束,結(jié)束編碼放在最后

└→字符集必須包含該字符(如ASCII碼中編碼為0的字符)

例—字符串“am”的ASCII編碼為110000111011010000000

作業(yè)一:P78~79—2~725*冗余校驗(yàn)思想:①用待發(fā)數(shù)據(jù)(M)形成校驗(yàn)位(P),M與P一起傳送②用接收數(shù)據(jù)(M’)形成新校驗(yàn)位(P”),用P’及P”檢錯(cuò)/糾錯(cuò)五、校驗(yàn)碼存儲(chǔ)器或傳輸線路M函數(shù)fP輸出方比較器P”P(pán)’糾正器M函數(shù)fM’輸入方狀態(tài)*術(shù)語(yǔ):校驗(yàn)碼—由數(shù)據(jù)和校驗(yàn)位組成的信息編碼檢錯(cuò)(檢驗(yàn))—檢查數(shù)據(jù)在傳送過(guò)程中有/無(wú)錯(cuò)誤糾錯(cuò)(校正)—根據(jù)錯(cuò)誤位置糾正數(shù)據(jù)(取反)*常見(jiàn)校驗(yàn)碼:奇偶校驗(yàn)碼、海明校驗(yàn)碼,循環(huán)冗余校驗(yàn)碼261、奇偶校驗(yàn)碼*編碼原理:采用1位校驗(yàn)位,使校驗(yàn)碼中

“1”的位數(shù)為奇數(shù)或偶數(shù)個(gè)*校驗(yàn)原理:檢測(cè)校驗(yàn)碼中

“1”的個(gè)數(shù)特性,確定是否有錯(cuò)

例1—數(shù)據(jù)101001001101001100011奇校驗(yàn)碼101001000110100?1100011?偶校驗(yàn)碼101001010110100?1100011?有奇校驗(yàn)/偶校驗(yàn)方法預(yù)先約定為奇數(shù)/偶數(shù)個(gè)*校驗(yàn)碼編碼:

(設(shè)數(shù)據(jù)信息為mnmn-1…m1)

校驗(yàn)碼組成—共n+1位,數(shù)據(jù)mnmn-1…m1校驗(yàn)位p1

異或與模2加—

ab=a+b(mod2)

校驗(yàn)位編碼—奇校驗(yàn)時(shí):P=p1=mn+mn-1+…+m1+1(mod2)

偶校驗(yàn)時(shí):P=p1=mn+mn-1+…+m1(mod2)27*校驗(yàn)方法:故障字S—S=P’P”,其中P’是接收的、P”是形成的檢錯(cuò)—若S=0無(wú)錯(cuò)誤,若S=1有錯(cuò)誤糾錯(cuò)—無(wú)此能力(∵無(wú)法獲得錯(cuò)誤位置)

例2—接收的奇校驗(yàn)碼故障字S錯(cuò)誤位數(shù)(人工)發(fā)送碼(參考)10100100001010010001101001?10110110101101100?10110110101101000?201101101*校驗(yàn)?zāi)芰Γ褐荒軝z測(cè)奇數(shù)個(gè)錯(cuò)誤,無(wú)糾錯(cuò)能力

例3—下列接收的校驗(yàn)碼①01001、②10100、③10011中,只有一個(gè)有奇數(shù)個(gè)錯(cuò),發(fā)送時(shí)采用的是奇校驗(yàn)還是偶校驗(yàn)碼?*應(yīng)用:廣泛應(yīng)用于I/O傳輸?shù)臄?shù)據(jù)校驗(yàn)25282、海明校驗(yàn)碼*編碼原理:將數(shù)據(jù)分成k個(gè)有重疊的組,

每個(gè)組使用一個(gè)奇偶校驗(yàn)位(共k個(gè)校驗(yàn)位)*校驗(yàn)原理:多重奇偶校驗(yàn),即某位錯(cuò)誤導(dǎo)致多個(gè)校驗(yàn)位變化,從而實(shí)現(xiàn)檢錯(cuò)與糾錯(cuò)(定位)*校驗(yàn)?zāi)芰δ繕?biāo):能檢測(cè)并糾正1位錯(cuò)誤*校驗(yàn)方法:(能力目標(biāo)→方法推導(dǎo))

設(shè)數(shù)據(jù)M=mn…m1,校驗(yàn)位P=pk…p1(即有k個(gè)奇偶檢驗(yàn)組)校驗(yàn)碼的編碼規(guī)則?k的長(zhǎng)度?

故障字S—S=sk…s1,si=pi’pi”=pi’+

pi”(mod2)

檢錯(cuò)—若S=0無(wú)錯(cuò)誤,S≠0有錯(cuò)誤糾錯(cuò)—S值表示錯(cuò)誤位置(共有n+k種),該位信息取反26校驗(yàn)碼常稱為單糾錯(cuò)碼SEC29*校驗(yàn)位位數(shù)k的確定:校驗(yàn)?zāi)芰δ繕?biāo)要求—2k-1≥n+k,其中n+k表示1位錯(cuò)誤種類n12~45~1112~2627~5758~120k(最小值)234567k的取值—*校驗(yàn)碼編碼規(guī)則:

(以4個(gè)校驗(yàn)組為例)

故障字S值的約定—S≠0時(shí)表示錯(cuò)誤位置,S值有n+k+1種無(wú)錯(cuò)誤:0000(→校驗(yàn)碼位置序號(hào)從1開(kāi)始編號(hào))

校驗(yàn)位錯(cuò):0001(p1)、0010(p2)、0100(p3)、1000(p4)

數(shù)據(jù)位錯(cuò):S的其余碼值(≥2個(gè)si=1)

校驗(yàn)碼的組成規(guī)則—按“S值=錯(cuò)誤位置”規(guī)則排列信息位置序號(hào)151413121110987654321信息排列m11m10m9m8m7m6m5p4m4m3m2p3m1p2p1校驗(yàn)位次重要,1個(gè)si=130位置及信息校驗(yàn)組151413121110987654321111111101101110010111010100110000111011001010100001100100001m11m10m9m8m7m6m5p4m4m3m2p3m1p2p1第4組√√√√√√√△第3組√√√√√√√△第2組√√√√√√√△第1組√√√√√√√△

檢驗(yàn)位的編碼規(guī)則—

(缺省為偶校驗(yàn)方式)p4=m11+m10+m9+m8+m7+m6+m5

(mod2)p3=m11+m10+m9+m8

+m4+m3+m2

(mod2)

p2=m11+m10

+m7+m6

+m4+m3

+m1

(mod2)p1=m11

+m9

+m7

+m5+m4+m2+m1(mod2)*應(yīng)用:常應(yīng)用于I/O傳輸、RAID存儲(chǔ)等方面的校驗(yàn)28

信息位加入校驗(yàn)組規(guī)則—信息位的位置hk…h(huán)1中,hi=1時(shí)就加入第i校驗(yàn)組該信息位錯(cuò)誤時(shí)si=131

解:∵23-1<7+3、24-1>7+4∴校驗(yàn)位位數(shù)=4位;

例5—求字符b的ASCII碼(m7…m1=1100010)的海明偶校驗(yàn)碼。

例4—若數(shù)據(jù)有16位,則海明校驗(yàn)碼的校驗(yàn)位最少為多少位?

解:2k-1≥16+k,k最小為5位(24-1<20、25-1>21)。

根據(jù)故障字約定,校驗(yàn)碼排列m7m6m5p4m4m3m2p3m1p2p1

故偶校驗(yàn)碼=m7m6m5p4m4m3m2p3m1p2p1=1

1

0

0

0

0

1

1

0

0

0

根據(jù)檢驗(yàn)位編碼規(guī)則,得(偶校驗(yàn)方式)

p4=m7m6m5

=0p3=

m4m3m2

=1p2=m7m6

m4m3m1=0p1=m7

m5m4

m2m1=02932

例6—續(xù)例5,請(qǐng)分析下列接收的海明偶校驗(yàn)碼是否有錯(cuò)?錯(cuò)誤時(shí)的位置?①11000011010、②11000001000、③11001001000

解:①接收的M’=1100010、P’=0110,可求得P”=0100,S=P’+P”(mod2),即無(wú)進(jìn)位的模2加,得S=0010,∴有錯(cuò)誤,位置2錯(cuò)誤(p2位錯(cuò)),數(shù)據(jù)M=1100010

②接收的M’=1100000、P’=0100,可求得P”=0001,S=P’+P”(mod2),得S=0101,∴有錯(cuò)誤,位置5錯(cuò)誤(數(shù)據(jù)位m2錯(cuò)),數(shù)據(jù)M=1100010

③接收的M’=1101000、P’=0100,可求得P”=0110,S=P’+P”(mod2),得S=0010,∴有錯(cuò)誤,p2錯(cuò)?實(shí)際是m4及m2位錯(cuò)(M’=1101000)!*校驗(yàn)?zāi)芰Γ篠EC能檢測(cè)并糾正1位錯(cuò),最多只可發(fā)現(xiàn)2位錯(cuò)!30333、循環(huán)冗余校驗(yàn)碼—CRC(CyclicRedundancyCheck)碼*基本概念:模2乘—與手工乘法類似,乘積各位求和時(shí)采用模2加法

模2除—上商規(guī)則,部分余數(shù)的首位即為位商;

求余規(guī)則,按位模2減(即模2加)1010

×10110100000

1010_

10001010110110000

101

010

000

100

10101……余數(shù)(比除數(shù)少1位)

編碼與多項(xiàng)式—可用多項(xiàng)式mn-1Xn-1+…+m1X+m0=M(X)來(lái)表示信息編碼mn-1…m1m0,mi=0或1時(shí)稱M(X)為二進(jìn)制多項(xiàng)式;

M(X)左移k位相當(dāng)于M(X)·Xk34*編碼原理:CRC碼由數(shù)據(jù)M(X)及校驗(yàn)位R(X)拼接組成;而R(X)為M(X)左移k位后、模2除以k+1位生成多項(xiàng)式G(X)的余數(shù)即[M(X)·Xk]/G(X)=Q(X)……R(X)(模2除)

CRC碼=M(X)·Xk-R(X)=M(X)·Xk+R(X)(模2加減)數(shù)據(jù)mn-1…m1校驗(yàn)位rk…r1

例7—已知M(X)=1100,G(X)=X3+X+1,求其CRC碼

解:G(X)=X3+X+1,即1011→校驗(yàn)位R(X)為3位

M(X)·X3/G(X)=1100000/1011=1110……010

(模2除)CRC碼=1100000+010=1100

010CRC碼特點(diǎn)—模2除以G(X)時(shí)余數(shù)為零,即

[M(X)·Xk+R(X)]/G(X)(模2除)={Q(X)G(X)+R(X)+R(X)}/G(X)(模2除)=[Q(X)G(X)]/G(X)=Q(X)……0(模2除)35*校驗(yàn)原理:--設(shè)接收的CRC碼=M’(X)·Xk+R’(X)①用接收的CRC碼模2除以G(X),求得余數(shù)R”(X);②若R”(X)=0,表示M’(X)正確;否則,R”(X)可表明出錯(cuò)位置循環(huán)碼[與M’(X)無(wú)關(guān)]M’(X)串行移位不同值表示錯(cuò)誤位置不同(不是錯(cuò)誤位置)糾錯(cuò)成本低(避免了海明校驗(yàn)碼的譯碼器電路)適用于串行設(shè)備28R”(X)具有的特性:第i位錯(cuò)誤時(shí)為R”i(X),第i+1位錯(cuò)誤時(shí)為R”i+1(X),有[

R”i(X)·X]/G(X)=…R”i+1(X)第i+2位錯(cuò)誤時(shí)為R”i+2(X),有[R”i+1(X)·X]/G(X)=…R”i+2(X)

……

…………最低位有錯(cuò)時(shí)校正36

例8—續(xù)例7,CRC碼1位錯(cuò)誤時(shí)的余數(shù)特性如下表:A1A2A3A4A5

A6

A7出錯(cuò)位置余數(shù)R”(X)R”(X)特性m’4…m’1r’3…r’11100010無(wú)0001100011A70011100000A6010

0010/1011=…0101100110A5100

0100/1011=…1001101010A40111000/1011=…0111110010A31100110/1011=…1101000010A21111100/1011=…1110100010A11011110/1011=…101循環(huán)次數(shù)操作A1

A2

A3

A4

A5

A6

A7余數(shù)錯(cuò)誤位置0CRC/G(X)1101010011A41M’(X)<<1、[R”(X)<<1]/G(X)101010*110A32M’(X)<<1、[R”(X)<<1]/G(X)01010**111A23M’(X)<<1、[R”(X)<<1]/G(X)1010***101A1M’(X)最高位糾錯(cuò)、M’(X)<<10010***000無(wú)

例9—續(xù)例8,CRC糾正1位錯(cuò)時(shí)的原理如下表:(共循環(huán)4次)3437*對(duì)G(X)選擇的要求:①發(fā)生校驗(yàn)?zāi)芰Ψ秶鷥?nèi)錯(cuò)誤時(shí),使R”(X)均不為零;②發(fā)生不同位置錯(cuò)誤時(shí),使R”(X)應(yīng)該均不同;③連續(xù)作R”(X)補(bǔ)0并模2除時(shí),使新R”(X)是循環(huán)變化的*常用的G(X):

CRC-CCITT:G(X)=X16+X12+X5+1CRC-16:G(X)=X16+X15+X2+1CRC-12:G(X)=X12+X11+X3+X2+X+1CRC-32:G(X)=X32+X26+X23+X16+X12+X11+X10+X8+X7

+X5+X4+X2+X+1*校驗(yàn)?zāi)芰Γ篊RC碼檢測(cè)及糾正錯(cuò)誤的能力隨n及G(X)而不同;

CRC碼檢錯(cuò)能力較強(qiáng)、糾錯(cuò)能力較弱*應(yīng)用:廣泛應(yīng)用于MEM傳送、網(wǎng)絡(luò)通信等方面38§2.2數(shù)據(jù)的表示

計(jì)算機(jī)用編碼表示數(shù)據(jù):數(shù)據(jù)數(shù)值數(shù)據(jù)非數(shù)值數(shù)據(jù)邏輯數(shù)

字符(串)

--含漢字圖形其它

--聲音、圖像等無(wú)符號(hào)數(shù)

--自然數(shù)有符號(hào)數(shù)

--整數(shù)、純小數(shù)、實(shí)數(shù)等

計(jì)算機(jī)只支持最常用(最基本)的數(shù)據(jù)類型:

數(shù)據(jù)類型—一個(gè)值的集合、在這個(gè)值集上的一組操作

數(shù)據(jù)表示—計(jì)算機(jī)硬件能夠直接識(shí)別和引用的數(shù)據(jù)類型類型轉(zhuǎn)換—程序員及編譯程序完成應(yīng)用→表示的變換程序員應(yīng)用需要的數(shù)據(jù)類型編程語(yǔ)言支持的數(shù)據(jù)類型硬件支持的數(shù)據(jù)類型編譯程序如整數(shù)39一、數(shù)值數(shù)據(jù)的表示方法2、馮·諾依曼計(jì)算機(jī)的硬件特征

①采用二進(jìn)制表示指令和數(shù)據(jù),采用二進(jìn)制運(yùn)算②二進(jìn)制中只有0和1,無(wú)法顯式表示符號(hào)和小數(shù)點(diǎn)

③機(jī)器字長(zhǎng)固定,CPU采用定長(zhǎng)方式處理1、數(shù)值數(shù)據(jù)的數(shù)學(xué)特征

①進(jìn)制可有多種②符號(hào)為“+”或“-”,符號(hào)可以缺?、坌?shù)點(diǎn)為“.”

,位置可任意變化,點(diǎn)可隱含表示④數(shù)碼長(zhǎng)度可任意變化

⑤運(yùn)算不會(huì)產(chǎn)生溢出運(yùn)算會(huì)產(chǎn)生溢出!40*進(jìn)制問(wèn)題處理:*符號(hào)問(wèn)題處理:有符號(hào)數(shù)—

無(wú)符號(hào)數(shù)—*小數(shù)點(diǎn)問(wèn)題處理:

①點(diǎn)的表示—②位置表示—*編碼格式選擇:*數(shù)碼長(zhǎng)度問(wèn)題處理:①同一數(shù)據(jù)類型—

②同一操作集數(shù)據(jù)—3、數(shù)值數(shù)據(jù)的表示方法支持二進(jìn)制,可支持二-十進(jìn)制符號(hào)用數(shù)字表示,符號(hào)位置為數(shù)值適于數(shù)據(jù)通常存儲(chǔ)、I/O時(shí)用隱含方式表示約定不同數(shù)據(jù)類型采用不同格式自然數(shù)、整數(shù)純小數(shù)實(shí)數(shù)隱含于最低位之后隱含于最高位之前純小數(shù)尾數(shù)+整數(shù)指數(shù)定點(diǎn)格式

浮點(diǎn)格式便于硬件實(shí)現(xiàn)運(yùn)算的某種編碼值集+操作集只有一種長(zhǎng)度(固定)

←定長(zhǎng)處理常有幾種長(zhǎng)度(數(shù)據(jù)類型)←如整數(shù)41*運(yùn)算問(wèn)題處理:

①運(yùn)算類型—指令操作碼指明運(yùn)算類型及數(shù)據(jù)表示(類型)

數(shù)值數(shù)據(jù)的處理方法:含數(shù)據(jù)的表示和數(shù)據(jù)的操作方法

②運(yùn)算方法—按數(shù)據(jù)表示(格式/編碼/長(zhǎng)度)實(shí)現(xiàn)相應(yīng)運(yùn)算③溢出處理—硬件檢測(cè)/發(fā)出通知,軟件是否/如何處理39MEM中信息無(wú)法表明類型定點(diǎn)與浮點(diǎn)表示機(jī)器數(shù)編碼方法表示格式(小數(shù)點(diǎn)表示)編碼方式(符號(hào)及數(shù)值表示)數(shù)碼長(zhǎng)度(數(shù)值范圍表示)數(shù)據(jù)的表示數(shù)據(jù)的操作數(shù)據(jù)處理運(yùn)算方式溢出處理系統(tǒng)結(jié)構(gòu)確定組成邏輯實(shí)現(xiàn)42二、數(shù)的定點(diǎn)表示1、定點(diǎn)表示方法指約定數(shù)據(jù)中隱含的小數(shù)點(diǎn)位置固定不變*定點(diǎn)數(shù)的表示范圍:

(設(shè)數(shù)碼長(zhǎng)度為n位)類型編碼自然數(shù)(無(wú)符號(hào))整數(shù)(有符號(hào))純小數(shù)(有符號(hào))原碼-(2n-1-1)~+(2n-1-1)-(1-2-(n-1))~+(1-2-(n-1))補(bǔ)碼

-2n-1~+(2n-1-1)-1~+(1-2-(n-1))無(wú)符號(hào)編碼0~2n-1*定點(diǎn)表示格式:2、定點(diǎn)數(shù)的表示

無(wú)符號(hào)整數(shù)有符號(hào)整數(shù)純小數(shù)Sn-1

Sn-2

S0Sf

Sn-2

S0Sf

S-1…S-(n-1)數(shù)值數(shù)符數(shù)值數(shù)符數(shù)值用于表示字符(char,BYTE)43

*硬件支持的定點(diǎn)數(shù)表示:無(wú)符號(hào)整數(shù)--無(wú)符號(hào)編碼方式、m種長(zhǎng)度←m種數(shù)據(jù)表示有符號(hào)整數(shù)—某種編碼方式、m種長(zhǎng)度←m種數(shù)據(jù)表示補(bǔ)碼概率≈100%默認(rèn)為補(bǔ)碼方式

示例1—C語(yǔ)言中的6種整數(shù)類型:short[int]unsignedshort[int]

intunsignedintlong[int]unsignedlong[int]※說(shuō)明:純小數(shù)通常表示為浮點(diǎn)數(shù)

←減少硬件成本

示例2—IA32支持的6種定點(diǎn)數(shù)表示:

8/16/32bit、無(wú)符號(hào)編碼的定點(diǎn)整數(shù),

8/16/32bit、補(bǔ)碼編碼的定點(diǎn)整數(shù)44三、數(shù)的浮點(diǎn)表示1、浮點(diǎn)表示方法指約定數(shù)據(jù)中隱含的小數(shù)點(diǎn)位置是可變的

表示—尾數(shù)用定點(diǎn)純小數(shù)表示,階用定點(diǎn)純整數(shù)表示*浮點(diǎn)表示格式:由定點(diǎn)格式的尾數(shù)和階組成

格式—1SE

ESM

M階符階值數(shù)符尾數(shù)值1em或SE

EMSM

概念:尾數(shù)--±M,階(指數(shù))—±E,尾數(shù)的基—RM,階的基—RE45*浮點(diǎn)數(shù)的表示范圍與精度:

假設(shè)尾數(shù)及階的基RM=RE=2,數(shù)值長(zhǎng)度分別為m位及e位2、浮點(diǎn)數(shù)的表示下溢區(qū)正上溢區(qū)(+∞)負(fù)上溢區(qū)(-∞)負(fù)數(shù)區(qū)機(jī)器零絕對(duì)零N正min正數(shù)區(qū)N負(fù)maxN正maxN負(fù)min

例1—若浮點(diǎn)表示格式中m=10、e=4,尾數(shù)及階的編碼均為補(bǔ)碼方式,寫(xiě)出(-54)10的機(jī)器碼

解:(-54)10=(-110110)2=-0.11011×2+110,

浮點(diǎn)數(shù)機(jī)器碼為0011010010100000

影響因素—e決定范圍、m決定精度46

例2—若浮點(diǎn)表示格式中尾數(shù)為8位(含1位符號(hào)位)、階為5位(含1位符號(hào)位),寫(xiě)出下列實(shí)數(shù)的浮點(diǎn)數(shù)或機(jī)器碼編碼格式實(shí)數(shù)浮點(diǎn)數(shù)浮點(diǎn)數(shù)的表示階尾數(shù)階碼尾數(shù)碼原碼原碼+10101.11+0.1010111×2+1010010101010111-0.0010111-0.1011100×2-10+0.1010111×2+110101101010101111011011011010移碼補(bǔ)碼+0.0010111+0.1011100×2-10-10101.11-0.1010111×2+101001010101110011101111010002010010

1101110001110

0101110010101

10101001-0.1011010×2-110+0.1011100×2-1011-0.0011000×2+1101

*硬件支持的浮點(diǎn)數(shù)表示:實(shí)數(shù)(及純小數(shù))—IEEE754標(biāo)準(zhǔn),有2種浮點(diǎn)格式

示例—C語(yǔ)言中的2種浮點(diǎn)數(shù)類型:float,double473、浮點(diǎn)數(shù)的規(guī)格化*目的:對(duì)給定的浮點(diǎn)表示格式,使浮點(diǎn)數(shù)的表示精度最大

例3—若浮點(diǎn)表示格式中m=3、e=3、尾數(shù)和階均為原碼編碼方式,不同表示方法的浮點(diǎn)數(shù)精度不同:

+111.1=0.1111×23=0.01111×24=0.001111×25*規(guī)格化數(shù)的要求:尾數(shù)真值的最高位為1,即

≤|M|<1*規(guī)格化的操作:左規(guī)—尾數(shù)左移一位,階碼減一

右規(guī)—尾數(shù)右移一位,階碼加一

應(yīng)用—非規(guī)格化數(shù)→規(guī)格化數(shù),可能需多次規(guī)格化操作45001101110100001101010001表示的值111.0110.0100.048

例4—若浮點(diǎn)數(shù)尾數(shù)及階的基均為2,回答下列問(wèn)題:非規(guī)格化浮點(diǎn)數(shù)+1.0111×2+010-0.00010×2+010+1011.1×2+010規(guī)格化操作右規(guī)1次規(guī)格化浮點(diǎn)數(shù)+0.10111×2+011編碼格式規(guī)格化數(shù)的機(jī)器碼最大正數(shù)最小正數(shù)最大負(fù)數(shù)最小負(fù)數(shù)階尾數(shù)階尾數(shù)階尾數(shù)階尾數(shù)階尾數(shù)原碼原碼01110111111111010000移碼補(bǔ)碼011111010000*規(guī)格化數(shù)的表示范圍及數(shù)碼特征:

原碼尾數(shù)—最高數(shù)值位為1

補(bǔ)碼尾數(shù)—最高數(shù)值位與符號(hào)相反

←便于硬件實(shí)現(xiàn)-1.00…00真值補(bǔ)碼100…00-0.11…11-0.10…01-0.10…00-0.01…11-0.00…01100…01101…11110…00110…01111…11…………左規(guī)3次-0.10000×2-001右規(guī)4次+0.10111×2+1101111

0000111111000001111111110000

1111101111

10000045494、IEEE754標(biāo)準(zhǔn)*表示格式(及數(shù)碼長(zhǎng)度):有單精度、雙精度兩種格式(長(zhǎng)度分別為32位及64位)*編碼方式:

①數(shù)制—M和E均采用二進(jìn)制方式(即RM=RE=2)2381單精度浮點(diǎn)表示格式數(shù)符S階E尾數(shù)M3252111雙精度浮點(diǎn)表示格式數(shù)符S階E尾數(shù)M64②碼制—M為原碼編碼的定點(diǎn)純小數(shù)(改進(jìn)了定點(diǎn)位置),

E為移碼編碼的定點(diǎn)整數(shù)(改進(jìn)了偏移值)50*階的碼制:采用余127碼和余1023碼余X碼—偏移值為X的移碼標(biāo)準(zhǔn)移碼:真值=E-28-1=E-128

←可稱余128碼余127碼:真值=E-(28-1-1)=E-127*尾數(shù)的碼制:

(以單精度格式為例)

支持非規(guī)格化尾數(shù)、規(guī)格化尾數(shù)兩種方式

規(guī)格化尾數(shù)—尾數(shù)真值=±1.m-2…m-24,

M表示=m-2…m-24,尾數(shù)精度=24位

階的范圍—1≤E≤254表示規(guī)格化數(shù),-126≤階≤+127

E=0和255另作他用(如表示非規(guī)格化數(shù))

非規(guī)格化尾數(shù)—尾數(shù)真值=±0.m-1…m-23,

M表示=m-1…m-23,尾數(shù)精度≤23位階<-126擴(kuò)展0.1m-2…m-2351*IEEE754標(biāo)準(zhǔn)浮點(diǎn)表示的特征:(以單精度格式為例)參數(shù)值真值N說(shuō)明E=0,且M=0N=0機(jī)器零(下溢區(qū))E=0,且M≠0N=(-1)S×2-126×0.M非規(guī)格化數(shù)1≤E≤254N=(-1)S×2E

-127×1.M規(guī)格化數(shù)E=255,且M≠0N=NaN為非數(shù)值E=255,且M=0N=(-1)S×∞±無(wú)窮大(上溢區(qū))

說(shuō)明:①可明確表示機(jī)器零、無(wú)窮大;②非規(guī)格化數(shù)可減少下溢區(qū)間大小(精度損失);③非數(shù)值用于表示異常(如0/0、負(fù)數(shù)開(kāi)根等)正非規(guī)格化數(shù)區(qū)域機(jī)器零0.0+0.0…01×2-126+0.1…1×2-126+1.0…0×2-126正規(guī)格化數(shù)區(qū)域略+1.1…1×2+127下溢區(qū)正上溢區(qū)52

例6—求IEEE

754單精度碼為(CC968000)16的浮點(diǎn)數(shù)的真值N

例5—求(-11/128)10的IEEE754單精度規(guī)格化數(shù)的機(jī)器碼

解—(-11/128)10

=(

-1011)2×2-7

=(-0.1011)2×2-3

=(-1.011)2×2-4=(-1.011)2×2123-127

解—(CC968000)16=1

10011001

00101101000000000000000N為負(fù)數(shù),浮點(diǎn)數(shù)為規(guī)格化數(shù)(∵1<10011001<254);10111

10110110

0000

0000

0000

0000

000

機(jī)器碼為:

階=(10011001)2-(01111111)2

=(00011010)2=(26)10

尾數(shù)=(1.00101101)2

=(1.17578125)10∴N=(―1)1×1.17578125×226=-1.17578125×226

數(shù)值數(shù)據(jù)的表示:表示格式、編碼方式、數(shù)碼長(zhǎng)度

(定點(diǎn)/浮點(diǎn))

(某種)(幾種)494153四、非數(shù)值數(shù)據(jù)的數(shù)據(jù)表示

MEM的訪問(wèn)/存儲(chǔ)效率:

數(shù)據(jù)訪問(wèn)效率—指令中1個(gè)MEM地址應(yīng)對(duì)應(yīng)多個(gè)數(shù)據(jù)位

存儲(chǔ)單元長(zhǎng)度(MEM字長(zhǎng))的特征:

MEM字長(zhǎng)取值—為2n位(n為常數(shù))←便于數(shù)據(jù)長(zhǎng)度運(yùn)算(二進(jìn)制)MEM字長(zhǎng)方案—有二進(jìn)制位、機(jī)器字長(zhǎng)、折中長(zhǎng)度3種

數(shù)據(jù)存儲(chǔ)效率—短數(shù)據(jù)占1個(gè)單元,長(zhǎng)數(shù)據(jù)占多個(gè)單元0000H0001H…地址數(shù)據(jù)(1位)01…0000H0001H…0000100010001111…地址數(shù)據(jù)(8位)0000H0001H…00001000111100000000000010001111…地址數(shù)據(jù)(設(shè)int為16位)通常MEM字長(zhǎng)=折中長(zhǎng)度(如字節(jié))541、字符數(shù)據(jù)的表示指字符的交換碼在存儲(chǔ)/處理時(shí)的編碼方式,即字符的內(nèi)碼*數(shù)據(jù)的表示方法:表示格式—

數(shù)碼長(zhǎng)度—n=kW,W為MEM字長(zhǎng),k受限于字符集大小m

Cm-1

Cm-2…C1

C0

Kp-1…

K0p擴(kuò)展位字符交換碼n

例1—常見(jiàn)字符交換碼的表示:(假設(shè)MEM按字節(jié)編址)字符集種類交換碼長(zhǎng)度內(nèi)碼長(zhǎng)度占地址數(shù)ASCII碼78位=7+11個(gè)Unicode碼1616位=16+02個(gè)GB2312-80碼1416位=14+22個(gè)

編碼方式—無(wú)符號(hào)編碼(二進(jìn)制)*擴(kuò)展位的作用:用于填滿數(shù)據(jù)位、或區(qū)分不同字符集55*數(shù)據(jù)的運(yùn)算及處理方法:

基本運(yùn)算—關(guān)系運(yùn)算(如A=B、A≥B等,結(jié)果為真/假)

字符串?dāng)?shù)據(jù)的表示:硬件—通常只支持字符數(shù)據(jù)的表示與運(yùn)算軟件—將字符串轉(zhuǎn)換為字符進(jìn)行存儲(chǔ)及處理└→字符數(shù)組+特殊字符(字符串結(jié)束符)

處理方法—可用減法運(yùn)算+邏輯運(yùn)算代替關(guān)系運(yùn)算關(guān)系運(yùn)算A≥BA≤BA>BA<BA=B實(shí)現(xiàn)減法運(yùn)算

溫馨提示

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