




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章 數(shù)據(jù)的機(jī)器級(jí)表示及運(yùn)算本章結(jié)構(gòu)12.1 數(shù)制及轉(zhuǎn)換數(shù)制及轉(zhuǎn)換22.2 數(shù)值數(shù)據(jù)的機(jī)器表示數(shù)值數(shù)據(jù)的機(jī)器表示32.3 非數(shù)值數(shù)據(jù)的機(jī)器表示非數(shù)值數(shù)據(jù)的機(jī)器表示52.5 浮點(diǎn)數(shù)的運(yùn)算浮點(diǎn)數(shù)的運(yùn)算42.4 定點(diǎn)數(shù)的運(yùn)算及實(shí)現(xiàn)定點(diǎn)數(shù)的運(yùn)算及實(shí)現(xiàn)62.6 數(shù)據(jù)校驗(yàn)碼數(shù)據(jù)校驗(yàn)碼重點(diǎn) 1.有符號(hào)數(shù)的補(bǔ)碼表示 2.定點(diǎn)數(shù)、浮點(diǎn)數(shù) 3.浮點(diǎn)數(shù)的IEEE754標(biāo)準(zhǔn) 4.定點(diǎn)數(shù)的加減運(yùn)算、加法器 5.浮點(diǎn)數(shù)的運(yùn)算2.1 數(shù)制及轉(zhuǎn)換 進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制 :將數(shù)字符號(hào)按序排列成數(shù)位,并遵照某種由低位到高位的進(jìn)位方式計(jì)數(shù)來(lái)表示數(shù)值的方法,稱為進(jìn)位計(jì)數(shù)制,簡(jiǎn)稱計(jì)數(shù)制。 無(wú)論使用哪種進(jìn)位計(jì)數(shù)制,數(shù)值的表示都包含兩個(gè)
2、基本要素:基數(shù)和位權(quán)。 一種進(jìn)位計(jì)數(shù)制允許使用的基本數(shù)字符號(hào)的個(gè)數(shù)稱為這種進(jìn)位計(jì)數(shù)制的基數(shù)。一般而言,K進(jìn)制數(shù)的基數(shù)為K,可供選用的基本數(shù)字符號(hào)有K個(gè),它們分別為0K-1,每個(gè)數(shù)位計(jì)滿K就向其高位進(jìn)1,即“逢K進(jìn)1”。 進(jìn)位計(jì)數(shù)制中每位數(shù)字符號(hào)所表示的數(shù)值,等于該數(shù)字符號(hào)值乘以一個(gè)與數(shù)字符號(hào)所處位置有關(guān)的常數(shù),這個(gè)常數(shù)就稱為位權(quán),簡(jiǎn)稱權(quán)。 位權(quán)的大小是以基數(shù)為底、數(shù)字符號(hào)所處位置的序號(hào)為指數(shù)的整數(shù)次冪。各數(shù)字符號(hào)所處位置的序號(hào)計(jì)法為:以小數(shù)點(diǎn)為基準(zhǔn),整數(shù)部分自右向左依次為0、1、 遞增,小數(shù)部分自左向右依次為-1、-2、 遞減。* 任何進(jìn)制數(shù)的值都可以表示成該進(jìn)制數(shù)中各位數(shù)字符號(hào)值與相應(yīng)位權(quán)乘
3、積的累加和形式,該形式稱為按權(quán)展開的多項(xiàng)式和。 一個(gè)K進(jìn)制數(shù)(N)K,用按權(quán)展開的多項(xiàng)式和形式可表示為:(N)KDmKm +Dm-1Km-1 + +D1K1 +D0K0+D-1K-1 +D-2K-2 + +D-nK-n 二進(jìn)制數(shù) :二進(jìn)制的基數(shù)為2,只有0和1兩個(gè)數(shù)字符號(hào),計(jì)數(shù)“逢二進(jìn)一”。 用按權(quán)展開的多項(xiàng)式和形式可表示為: (N)2Dm2m +Dm-12m-1 + +D121 +D020+D-12-1 +D-22-2 + +D-n2-n * 計(jì)算機(jī)內(nèi)部采用二進(jìn)制表示,具有以下優(yōu)點(diǎn):技術(shù)容易實(shí)現(xiàn)。運(yùn)算規(guī)則簡(jiǎn)單。與邏輯量吻合。 十六進(jìn)制數(shù):十六進(jìn)制的基數(shù)為16,由09、AF共16個(gè)數(shù)字、字母符
4、號(hào)組成。其中,09共10個(gè)數(shù)字符號(hào)含義與十進(jìn)制數(shù)相同,AF共6個(gè)字母符號(hào)的值分別對(duì)應(yīng)十進(jìn)制數(shù)的1015,計(jì)數(shù)“逢十六進(jìn)一”。 用按權(quán)展開的多項(xiàng)式和形式可表示為: (N)16Dm16m +Dm-116m-1 + +D1161 +D0160+D-116-1 +D-216-2 + +D-n16-n 八進(jìn)制數(shù):八進(jìn)制的基數(shù)為8,由07共8個(gè)數(shù)字組成,計(jì)數(shù)“逢八進(jìn)一”。 用按權(quán)展開的多項(xiàng)式和形式可表示為: (N)8Dm8m +Dm-18m-1 + +D181 +D080+D-18-1 +D-28-2 + +D-n8-n 數(shù)制的轉(zhuǎn)換 1. 二進(jìn)制數(shù)、十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)“加權(quán)求和法” 具體方法為:將要
5、轉(zhuǎn)換的二進(jìn)制數(shù)或十六進(jìn)制數(shù)表示成按權(quán)展開的多項(xiàng)式和的形式,然后逐項(xiàng)相加,所得的和值便是對(duì)應(yīng)的十進(jìn)制數(shù)。 2. 十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)十進(jìn)制數(shù)的整數(shù)部分采用“除2取余”法進(jìn)行轉(zhuǎn)換。 具體方法為:將要轉(zhuǎn)換的十進(jìn)制整數(shù)除以二進(jìn)制的基數(shù)2,取商的余數(shù)作為二進(jìn)制整數(shù)最低位的系數(shù)K0,繼續(xù)將商的整數(shù)部分除以2,再取商的余數(shù)作為二進(jìn)制整數(shù)次低位的系數(shù)K1,這樣依次相除,直至商為0為止,最后一位余數(shù)作為二進(jìn)制整數(shù)最高位的系數(shù)Kn。余數(shù)序列KnKn-1K1K0便構(gòu)成了對(duì)應(yīng)的二進(jìn)制數(shù)。 2. 十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)十進(jìn)制的小數(shù)部分采用“乘2取整法”進(jìn)行轉(zhuǎn)換。 具體方法為:將要轉(zhuǎn)換的十進(jìn)制小數(shù)部分乘以二進(jìn)制的基數(shù)2
6、,取積的整數(shù)部分作為二進(jìn)制小數(shù)的最高位的系數(shù)K-1,繼續(xù)將積的小數(shù)部分乘以2,再取積的整數(shù)部分作為二進(jìn)制小數(shù)次高位的系數(shù)K-2,這樣依次相乘,直至積的小數(shù)部分為0或達(dá)到所需精度為止,最后一位積的整數(shù)部分作為二進(jìn)制小數(shù)最低位的系數(shù)K-m。積的整數(shù)部分序列0.K-1 K-2K-m+1K-m便構(gòu)成了對(duì)應(yīng)的二進(jìn)制數(shù)。 3. 二進(jìn)制數(shù)與十六進(jìn)制數(shù)的相互轉(zhuǎn)換 十六進(jìn)制數(shù)與二進(jìn)制數(shù)存在著簡(jiǎn)單的轉(zhuǎn)換關(guān)系,每1位十六進(jìn)制數(shù)正好對(duì)應(yīng)4位二進(jìn)制數(shù)。 以小數(shù)點(diǎn)為界,整數(shù)部分向左、小數(shù)部分向右分成4位一組,各組分別用對(duì)應(yīng)的一位十六進(jìn)制數(shù)表示,即可得到所求的十六進(jìn)制數(shù)。兩頭的分組不足4位時(shí),在小數(shù)點(diǎn)左邊的高位和小數(shù)點(diǎn)右邊
7、的低位可用0補(bǔ)足。 2.2 數(shù)值數(shù)據(jù)的機(jī)器表示 所謂數(shù)據(jù)的機(jī)器數(shù)表示是指計(jì)算機(jī)硬件能夠直接表示、存儲(chǔ)和處理的數(shù)據(jù)形式。 數(shù)值數(shù)據(jù)是一種帶符號(hào)數(shù),即有正負(fù)之分。在計(jì)算機(jī)中,數(shù)的符號(hào)(+或-)和數(shù)的值一樣都要采用二進(jìn)制0、1編碼。 對(duì)數(shù)值數(shù)據(jù)的編碼表示常用的有原碼、補(bǔ)碼、反碼和移碼表示等。 為了區(qū)分一般書寫時(shí)表示的數(shù)和機(jī)器中編碼表示的數(shù),我們稱前者為真值,后者為機(jī)器數(shù)。機(jī)器數(shù)包含兩部分:符號(hào)位和數(shù)值部分。1. 原碼表示法 具體表示方法是:符號(hào)位表示該數(shù)的符號(hào),正(+)用“0”表示,負(fù)(-)用“1”表示,而數(shù)值部分保持與其真值相同。 純小數(shù)的原碼表示:設(shè)純小數(shù)的原碼形式為0.12 n,則原碼表示的定
8、義為:原 10 1-1+| 0-1 純整數(shù)的原碼表示:設(shè)純整數(shù)的原碼形式為012 n,則原碼表示的定義為:原 2n0 2n-2n +| 0-2n 原碼表示法的優(yōu)點(diǎn)是比較直觀、簡(jiǎn)單易懂,但它的最大缺點(diǎn)是加法運(yùn)算復(fù)雜。這是因?yàn)?,?dāng)兩數(shù)相加時(shí),如果是同號(hào)則數(shù)值相加;如果是異號(hào),則要進(jìn)行減法。而在進(jìn)行減法運(yùn)算時(shí),還要比較絕對(duì)值的大小,然后減去小數(shù),最后還要給結(jié)果選擇恰當(dāng)?shù)姆?hào)。顯然,利用原碼作加減法運(yùn)算是不太方便的。另外,原碼的零是不唯一的。 2. 補(bǔ)碼表示法 補(bǔ)碼表示法是計(jì)算機(jī)中實(shí)際采用的一種編碼方法,與原碼表示相同的是,其符號(hào)位表示該數(shù)的符號(hào),正(+)用“0”表示,負(fù)(-)用“1”表示,但數(shù)值部分
9、有所不同。 純小數(shù)的補(bǔ)碼表示:設(shè)純小數(shù)的原碼形式為0.12 n,則補(bǔ)碼表示的定義為:補(bǔ) 10 2+2-| 0-1 純整數(shù)的補(bǔ)碼表示:設(shè)純整數(shù)的原碼形式為012 n,則補(bǔ)碼表示的定義為:補(bǔ) 2n0 2n+1 +2n+1-| 0-2n 補(bǔ)碼有兩條重要的性質(zhì):補(bǔ)碼的零是唯一的。補(bǔ)碼的減法可以化為加法實(shí)現(xiàn),即: X+Y補(bǔ)X補(bǔ)+Y補(bǔ) X-Y補(bǔ)X補(bǔ)+-Y補(bǔ) 反碼表示法中,符號(hào)的表示法與原碼相同;而對(duì)于數(shù)值部分,正數(shù)的反碼與正數(shù)的原碼數(shù)值部分相同,負(fù)數(shù)的數(shù)值部分則通過(guò)將負(fù)數(shù)原碼的數(shù)值部分各位取反(0變1,1變0)得到。 3. 反碼表示法 純小數(shù)的反碼表示:設(shè)純小數(shù)的原碼形式為0.12 n,則反碼表示的定義為
10、:反 10 2-2-n +2-| 0-1 純整數(shù)的反碼表示:設(shè)純整數(shù)的原碼形式為012 n,則補(bǔ)碼表示的定義為:反 2n0 2n+1-1+ 0-2n 通過(guò)比較小數(shù)與整數(shù)的反碼與補(bǔ)碼的公式可得到:補(bǔ)反+2-n (0 x-1)補(bǔ)反+1 (0 x-2-n) 這兩個(gè)公式告訴我們,若要將一個(gè)負(fù)數(shù)用補(bǔ)碼表示,其方法是:符號(hào)位置1,數(shù)值部分各位變反,末位加1。4. 移碼表示法 移碼主要用于表示我們后面要講到的浮點(diǎn)數(shù)的階碼,而且通常表示的是純整數(shù)。 對(duì)于純整數(shù)012 n,移碼表示的定義是: 移2n+x (2nx-2-n) 定點(diǎn)數(shù)和浮點(diǎn)數(shù)定點(diǎn)數(shù)和浮點(diǎn)數(shù) 我們?nèi)粘1硎镜臄?shù)據(jù)類型主要有兩種:一是一般的數(shù)據(jù)表示形式,
11、如125、98.6等;二是科學(xué)記數(shù)法表示的數(shù)據(jù)形式,如1.25108等。這兩種數(shù)據(jù)類型對(duì)應(yīng)在計(jì)算機(jī)中的表示形式就是定點(diǎn)數(shù)和浮點(diǎn)數(shù)。1. 定點(diǎn)數(shù)的表示方法 所謂定點(diǎn)數(shù)是指數(shù)據(jù)的小數(shù)點(diǎn)位置是固定不變的。 在計(jì)算機(jī)中,定點(diǎn)數(shù)主要分為兩種:一是定點(diǎn)整數(shù),即純整數(shù);二是定點(diǎn)小數(shù),即純小數(shù)。 假設(shè)用一個(gè)n+1位二進(jìn)制來(lái)表示一個(gè)定點(diǎn)數(shù)x,其中一位0用來(lái)表示數(shù)的符號(hào)位,其余n位數(shù)代表它的數(shù)值。這樣,對(duì)于任意定點(diǎn)數(shù)012 n,其在機(jī)器中的定點(diǎn)數(shù)表示如下: 符號(hào)01 2 . . . n 數(shù)值 如果數(shù)x表示的是純小數(shù),那么小數(shù)點(diǎn)位于0和1之間,其數(shù)值范圍為:0 1-2-n 如果數(shù)x表示的是純整數(shù),那么小數(shù)點(diǎn)位于最低
12、位n 的右邊,其數(shù)值范圍為:0 2n+1-12. 浮點(diǎn)數(shù)的表示方法 在浮點(diǎn)數(shù)表示中,數(shù)據(jù)被分為兩部分:尾數(shù)和階碼。尾數(shù)表示數(shù)的有效數(shù)位,階碼則表示小數(shù)點(diǎn)的位置。加上符號(hào)位,浮點(diǎn)數(shù)據(jù)可以表示為:N(-1)SMRE 其中M是浮點(diǎn)數(shù)的尾數(shù),R是基數(shù),E是階碼,S是浮點(diǎn)數(shù)的符號(hào)位。 在計(jì)算機(jī)中表示為: 數(shù)符尾數(shù)階碼階符E0E1 E2 . . . Em SM1 M2 . . . Mn 在計(jì)算機(jī)中,基數(shù)R取2,是個(gè)常數(shù),在系統(tǒng)中是約定的,不需要表示出來(lái); 階碼E用定點(diǎn)整數(shù)表示,它的位數(shù)越長(zhǎng),浮點(diǎn)數(shù)所能表示的數(shù)的范圍越大; 尾數(shù)M用定點(diǎn)小數(shù)表示,它的位數(shù)越長(zhǎng),浮點(diǎn)數(shù)所能表示的數(shù)的精度越高。3. 浮點(diǎn)數(shù)的IE
13、EE754標(biāo)準(zhǔn) IEEE754標(biāo)準(zhǔn)從邏輯上采用三元組S,E,M表示一個(gè)浮點(diǎn)數(shù)N SEM N的實(shí)際值n由下列式子表示: n(-1)sm2e 其中n、s、e、m分別為N、S、E、M對(duì)應(yīng)的實(shí)際數(shù)值。 IEEE754標(biāo)準(zhǔn)規(guī)定了三種浮點(diǎn)數(shù)格式:?jiǎn)尉入p精度擴(kuò)展精度。 單精度浮點(diǎn)數(shù)N共32位,其中S占1位,E占8位,M占23位。 22 030 2331SEM 雙精度浮點(diǎn)數(shù)N共64位,其中S占1位,E占11位,M占52位。 51 062 5263SEMIEEE754標(biāo)準(zhǔn)1、浮點(diǎn)數(shù)的規(guī)格化表示:M雖然是23位或者52位,標(biāo)準(zhǔn)規(guī)定小數(shù)點(diǎn)左邊還有一個(gè)隱含位1,也就是說(shuō)m=1.M,這一位并不需要存儲(chǔ),卻可以提高一位
14、尾數(shù)的精度?!?1 E254或1 E2046】2、階碼:e是采用移碼表示的整數(shù),e值計(jì)算公式如下: e=E-127, 對(duì)單精度浮點(diǎn)數(shù)來(lái)說(shuō),k=8, e=E-1023;對(duì)雙精度浮點(diǎn)數(shù)來(lái)說(shuō),k=11。3、機(jī)器零:當(dāng)一個(gè)浮點(diǎn)數(shù)的尾數(shù)為 0,不論其階碼為何值,或者當(dāng)階碼的值遇到比它能表示的最小值還小時(shí),不管其尾數(shù)為何值,計(jì)算機(jī)都把該浮點(diǎn)數(shù)看成零值。當(dāng)階碼E為全0且尾數(shù)M也為全0時(shí),表示的真值為零,結(jié)合符號(hào)位S為0或1,有正零和負(fù)零之分。4、無(wú)窮大:當(dāng)階碼E為全1,且尾數(shù)M也為全0時(shí),表示的真值為無(wú)窮大,結(jié)合符號(hào)位S為0或1,有正無(wú)窮和負(fù)無(wú)窮之分。 【例2.10】將十進(jìn)制數(shù)43.6875轉(zhuǎn)換成754標(biāo)準(zhǔn)
15、的單精度浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式。 解:轉(zhuǎn)換成二進(jìn)制數(shù)得: (43.6875)10=(101011.1011)2。 =1.01011101125,于是得到:S=0,E=5+127=132,M=010111011。 最后得到單精度浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為: 0 10000100 01011101100000000000000如果寫成十六進(jìn)制:42EC0000 【例2.11】若浮點(diǎn)數(shù)的IEEE754標(biāo)準(zhǔn)存儲(chǔ)格式為(41360000)16,求其浮點(diǎn)數(shù)的十進(jìn)制值。 解:將(41360000)16展開為二進(jìn)制形式是: 0 10000010 01101100000000000000000 符號(hào)位S=0,指數(shù)
16、e=E-127=3 尾數(shù)m=1.M=1.01101100000000000000000=1.011011 于是有:=(-1)sm2e =+1.01101123=+1011.011=(11.375)10 2.3 非數(shù)值數(shù)據(jù)的機(jī)器表示 二進(jìn)制編碼的十進(jìn)制數(shù) 字符編碼 漢字的表示方法 1. 二進(jìn)制編碼的十進(jìn)制數(shù) 現(xiàn)代計(jì)算機(jī)除了能將我們?nèi)粘I钪械氖M(jìn)制數(shù)轉(zhuǎn)換為上述二進(jìn)制形式表示和處理外,還能直接使用二進(jìn)制編碼的方式表示十進(jìn)制數(shù)位,常用的表示方法就是二進(jìn)制編碼的十進(jìn)制數(shù)(Binary-Coded Decimal),簡(jiǎn)稱BCD碼。 BCD碼是將一個(gè)十進(jìn)制數(shù)的每個(gè)十進(jìn)制數(shù)字編碼成一個(gè)4位的二進(jìn)制數(shù),并且使
17、用了3個(gè)4位二進(jìn)制編碼表示符號(hào),其中1111表示無(wú)符號(hào)數(shù),1100表示正數(shù),而1101則表示負(fù)數(shù)。 十進(jìn)制數(shù)字BCD編碼01234567890000000100100011010001010110011110001001正數(shù)負(fù)數(shù)無(wú)符號(hào)數(shù)110011011111 因?yàn)橐粋€(gè)十進(jìn)制數(shù)字的BCD編碼只占一個(gè)4位的空間,所以在存儲(chǔ)一個(gè)十進(jìn)制數(shù)串時(shí)可以采取一種稱為壓縮十進(jìn)制數(shù)串形式表示,具體方法:十進(jìn)制數(shù)串的每個(gè)數(shù)字的BCD碼連續(xù)存儲(chǔ),最后4位存儲(chǔ)符號(hào)。 【例2.12】利用壓縮的BCD編碼存儲(chǔ)-1265。 解:-1265的BCD編碼為:0001 0010 0110 0101 使用三個(gè)字節(jié)存儲(chǔ),其中在最低位
18、數(shù)字后面加上符 號(hào),在高位補(bǔ)0,則有:0000 00010010 01100101 11012. 字符編碼字符編碼 EBCDIC碼 ASCII碼 統(tǒng)一字符編碼標(biāo)準(zhǔn) Unicode 2.4 定點(diǎn)數(shù)的運(yùn)算及實(shí)現(xiàn)定點(diǎn)數(shù)的運(yùn)算及實(shí)現(xiàn) 定點(diǎn)數(shù)的加減運(yùn)算 定點(diǎn)數(shù)的乘法運(yùn)算 定點(diǎn)數(shù)的除法運(yùn)算1. 定點(diǎn)數(shù)的加減運(yùn)算定點(diǎn)數(shù)的加減運(yùn)算 在機(jī)器中,定點(diǎn)數(shù)是以補(bǔ)碼形式表示的,因此,我們這里主要介紹補(bǔ)碼的加減運(yùn)算。 補(bǔ)碼的加法運(yùn)算 根據(jù)補(bǔ)碼的性質(zhì),我們可以得出以下結(jié)論:用補(bǔ)碼表示的兩個(gè)數(shù)相加,其結(jié)果仍為補(bǔ)碼;+ y 補(bǔ)補(bǔ)+ y 補(bǔ);- y 補(bǔ)補(bǔ)+- y 補(bǔ)= 補(bǔ)- y 補(bǔ);符號(hào)位與數(shù)值位一同參加運(yùn)算。證明+ y 補(bǔ)補(bǔ)+
19、 y 補(bǔ)以純小數(shù)的補(bǔ)碼定義為例證明:補(bǔ) 10 2+2-| 0 -1由+ y 補(bǔ)補(bǔ)+ y 補(bǔ)推出- y 補(bǔ)補(bǔ)+- y 補(bǔ)= 補(bǔ)- y 補(bǔ); 舉例補(bǔ)碼的減法運(yùn)算 根據(jù)補(bǔ)碼的性質(zhì),我們還可以得出以下結(jié)論:用補(bǔ)碼表示的兩個(gè)數(shù)相減,其結(jié)果仍為補(bǔ)碼;- y 補(bǔ)補(bǔ)+ -y 補(bǔ);符號(hào)位與數(shù)值位一同參加運(yùn)算。 舉例 補(bǔ)碼的減法運(yùn)算可以轉(zhuǎn)換為加法實(shí)現(xiàn),所以計(jì)算時(shí)可以先求出-y的補(bǔ)碼,再做加法運(yùn)算,這樣在機(jī)器中實(shí)現(xiàn)時(shí),只需一個(gè)加法器即可完成加、減法運(yùn)算,這也是計(jì)算機(jī)中使用補(bǔ)碼表示的主要原因之一。 加減運(yùn)算的溢出判別 我們先來(lái)看兩個(gè)補(bǔ)碼運(yùn)算的例子。 【例2.18】設(shè)0.1101,y0.0110,則有: + y 補(bǔ)補(bǔ)+
20、 y 補(bǔ)0.1101補(bǔ)+0.0110補(bǔ)0.1101+0.01101.0011 兩個(gè)正數(shù)相加結(jié)果怎么變成了負(fù)數(shù)? 【例2.19】設(shè)-0.1011,y-0.1001,則有: + y 補(bǔ)補(bǔ)+ y 補(bǔ)-0.1011補(bǔ)+-0.1001補(bǔ)1.0101+1.01110.1100 兩個(gè)負(fù)數(shù)相加結(jié)果怎么變成了正數(shù)? 其實(shí),在計(jì)算機(jī)中,任何種類的數(shù)據(jù)表示由于受到計(jì)算機(jī)字長(zhǎng)的限制,其表示的數(shù)據(jù)都是有一定范圍的。 例如,8位二進(jìn)制補(bǔ)碼表示的純整數(shù)的范圍是-128+127(即1000000001111111);16位二進(jìn)制補(bǔ)碼表示的純整數(shù)的范圍是-4096+4095(即1000000000000000011111111
21、1111111)。 如果運(yùn)算結(jié)果超出了表示范圍,則稱為產(chǎn)生了溢出。 其中,若運(yùn)算結(jié)果比最大的正數(shù)還大,則為正溢出;若運(yùn)算結(jié)果比最小的負(fù)數(shù)還小,則為負(fù)溢出。 下面介紹三種溢出的判別方法。 (1)符號(hào)位判別法 當(dāng)符號(hào)相同的兩個(gè)數(shù)相加時(shí),如果結(jié)果的符號(hào)與相加數(shù)的符號(hào)不同,則為溢出。 溢出表達(dá)式:Vx0 y0 z0 +x0 y0 z0其中 x0、y0分別為兩個(gè)相加數(shù)的符號(hào)位,z0為運(yùn)算結(jié)果的符號(hào)位, 若V1,則說(shuō)明產(chǎn)生了溢出;若V0,則無(wú)溢出。x0 y0 z0 x0 y0 z0V圖2-5 符號(hào)位判別法(2)進(jìn)位位判別法 當(dāng)兩個(gè)補(bǔ)碼相加時(shí),如果符號(hào)位和數(shù)值部分最高位的進(jìn)位位C0、C1不同,則為溢出,相同
22、則未溢出。 溢出表達(dá)式為:VC0 C1其中C0、C1分別為結(jié)果的符號(hào)位和數(shù)值部分最高位的進(jìn)位位 。(3)雙符號(hào)位法 兩個(gè)相加數(shù)均使用兩位符號(hào)位,00表示正數(shù),11表示負(fù)數(shù)。 當(dāng)兩個(gè)正數(shù)相加時(shí),若結(jié)果的兩個(gè)符號(hào)位相同,則無(wú)溢出;若不同,則有溢出,且為01時(shí)是正溢出,為10時(shí)是負(fù)溢出。 溢出表達(dá)式為:Vz0 z0 其中z0、z0為運(yùn)算結(jié)果的兩個(gè)符號(hào)位。 若V1,則說(shuō)明產(chǎn)生了溢出;若V0,則無(wú)溢出。 進(jìn)位位判別法和雙符號(hào)位判別法的邏輯實(shí)現(xiàn)分別如下圖示。二進(jìn)制補(bǔ)碼加法器的實(shí)現(xiàn)1 1、全加器、全加器 * *全加器輸出的邏輯表達(dá)式:全加器輸出的邏輯表達(dá)式:真值表真值表A Ai iB Bi iC Ci-1i
23、-1進(jìn)位進(jìn)位C Ci i全加和全加和S Si i0 00 01 11 10 01 10 01 10 00 00 00 00 00 00 01 10 01 11 10 00 00 01 11 10 01 10 01 11 11 11 11 10 01 11 11 11 10 00 01 11iii1ii1iii1ii1iii1iii1iii1iii1iiiiCBA)CBCB(A)CBC(BA CBACBACBACBAS1iiiii1iii1iii1iii1iiii)CB(ABACBACBACBACBACS Si iC Ci iA Ai i B Bi iC Ci-1i-11 1& &
24、;=1=1=1=1& &2 2、并行加法器、并行加法器 * *組成:組成:n n個(gè)全加器、進(jìn)位鏈;個(gè)全加器、進(jìn)位鏈; * *進(jìn)位輔助函數(shù):進(jìn)位輔助函數(shù): 全加器進(jìn)位邏輯全加器進(jìn)位邏輯1iii1iiiiiiCPG)CB(ABAC 產(chǎn)生函數(shù)產(chǎn)生函數(shù)G Gi i G Gi i=A=Ai iB Bi i,進(jìn)位不依賴于,進(jìn)位不依賴于C Ci-1i-1產(chǎn)生產(chǎn)生( (本地產(chǎn)生本地產(chǎn)生) )iiiBAP 傳遞函數(shù)傳遞函數(shù)P Pi i ,進(jìn)位依賴于,進(jìn)位依賴于C Ci-1i-1產(chǎn)生產(chǎn)生( (傳遞傳遞C Ci-1i-1) )S S0 0C C0 0A A0 0 B B0 0C C-1-1C Cn-
25、2n-2S Sn-1n-1 C Cn-1n-1A An-1 n-1 B Bn-1n-1C Cn-3n-3S Sn-2n-2 A An-2 n-2 B Bn-2n-2A補(bǔ)=An-1 An-2 A1 A0 B補(bǔ)=Bn-1 Bn-2 B1 B0 S補(bǔ)=A補(bǔ)+ B補(bǔ)3 3、串行進(jìn)位的并行加法器、串行進(jìn)位的并行加法器 * *串行進(jìn)位邏輯形成:串行進(jìn)位邏輯形成: =G=G0 0+P+P0 0C C-1-1 =G=G1 1+P+P1 1 =G=Gn-1n-1+P+Pn-1n-1C C0 0C Cn-1n-1不能同時(shí)形成不能同時(shí)形成 * *加法器特點(diǎn):加法器特點(diǎn):進(jìn)位電路簡(jiǎn)單,進(jìn)位電路簡(jiǎn)單, 運(yùn)算速度慢運(yùn)算速
26、度慢(T(T加法加法=nt)=nt)S S0 0C C0 0A A0 0 B B0 0C C-1-1C Cn-2n-2S Sn-1n-1 C Cn-1n-1A An-1 n-1 B Bn-1n-1C Cn-3n-3S Sn-2n-2 A An-2 n-2 B Bn-2n-24 4、行波進(jìn)位并行加法器(、行波進(jìn)位并行加法器(先行進(jìn)位)先行進(jìn)位) * *先行進(jìn)位邏輯形成:先行進(jìn)位邏輯形成: 其中其中G Gi i=A=Ai iB Bi i,P Pi i=A=Ai i B Bi i =G=G0 0+P+P0 0C C-1-1 =G=G1 1+P+P1 1C C0 0 = = G G1 1+P+P1 1
27、G G0 0+P+P1 1P P0 0C C-1-1 =G=G2 2+P+P2 2C C1 1 = = G G2 2+P+P2 2G G1 1+P+P2 2P P1 1G G0 0+P+P2 2P P1 1P P0 0C C-1-1 =G=G3 3+P+P3 3C C2 2 = = G G3 3+P+P3 3G G2 2+P+P3 3P P2 2G G1 1+P+P3 3P P2 2P P1 1G G0 0+P+P3 3P P2 2P P1 1P P0 0C C-1-1 * *先行進(jìn)位產(chǎn)生電路:先行進(jìn)位產(chǎn)生電路:C C0 0C C3 3可同時(shí)形成可同時(shí)形成1 1C C-1-11 11 11 1
28、P P0 0G G0 0P P1 1G G1 1P P2 2G G2 2P P3 3G G3 3C C0 0C C1 1C C2 2C C3 34 4位先行進(jìn)位加法器組成:位先行進(jìn)位加法器組成:4 4位先行進(jìn)位產(chǎn)生電路位先行進(jìn)位產(chǎn)生電路S S3 3A A3 3 B B3 3G G3 3 P P3 3C C2 2S S2 2A A2 2 B B2 2G G2 2 P P2 2C C1 1S S1 1A A1 1 B B1 1G G1 1 P P1 1C C0 0S S0 0A A0 0 B B0 0G G0 0 P P0 0C C-1-1C C3 3 * *n n位先行進(jìn)位加法器組成:位先行進(jìn)位
29、加法器組成:1616位先行進(jìn)位產(chǎn)生電路位先行進(jìn)位產(chǎn)生電路S S1515A A1515 B B1515G G1515 P P1515C C1414S S1 1A A1 1 B B1 1G G1 1 P P1 1C C0 0S S0 0A A0 0 B B0 0G G0 0 P P0 0C C-1-1C C1515 全并行先行進(jìn)位全并行先行進(jìn)位加法器加法器組內(nèi)并行、組間串行進(jìn)位組內(nèi)并行、組間串行進(jìn)位加法器加法器4 4位先行進(jìn)位先行進(jìn)位加法器位加法器S S3 30 0A A3 30 0 B B3 30 04 4位先行進(jìn)位先行進(jìn)位加法器位加法器S S7 74 4C C7 7A A7 74 4 B B7
30、 74 44 4位先行進(jìn)位先行進(jìn)位加法器位加法器S S11118 8A A11118 8 B B11118 84 4位先行進(jìn)位先行進(jìn)位加法器位加法器S S15151212A A15151212 B B15151212C C3 3C C-1-1C C1111C C1515 組內(nèi)并行、組間并行進(jìn)位組內(nèi)并行、組間并行進(jìn)位加法器加法器4 4位先行進(jìn)位先行進(jìn)位加法器位加法器S S15151212G G3 3* * P P3 3* *C C-1-1C C1515A A15151212 B B151512124 4位先行進(jìn)位產(chǎn)生電路位先行進(jìn)位產(chǎn)生電路4 4位先行進(jìn)位先行進(jìn)位加法器位加法器S S11118 8
31、G G2 2* * P P2 2* *A A11118 8 B B11118 84 4位先行進(jìn)位先行進(jìn)位加法器位加法器S S7 74 4G G1 1* * P P1 1* *A A7 74 4 B B7 74 44 4位先行進(jìn)位先行進(jìn)位加法器位加法器S S3 30 0G G0 0* * P P0 0* *A A3 30 0 B B3 30 0C C1515C C1111C C7 7C C3 3 其中其中C C3 3= = G G3 3+P+P3 3G G2 2+P+P3 3P P2 2G G1 1+P+P3 3P P2 2P P1 1G G0 0 + + P P3 3P P2 2P P1 1P
32、 P0 0 C C-1-1= = G G0 0* * + + P P0 0* * C C-1-1 能同時(shí)實(shí)現(xiàn)補(bǔ)碼加、減法的加法器如圖所示。 0101010101-C1C2Ci+1Cnx0 x1xixn-1xnFa0MUXMUXMUXMUXMUXy0y1yiyn-1ynFa1FaiFan-1FanCn+1+寄存器B寄存器A 行波進(jìn)位加法器邏輯關(guān)系清晰,電路實(shí)現(xiàn)簡(jiǎn)單。但由于其進(jìn)位位是由低到高一位一位串行生成,因此,電路延遲時(shí)間長(zhǎng),運(yùn)算速度慢。一種改進(jìn)的方法是采用先行進(jìn)位法,具體做法是:將n位相加的二進(jìn)制位進(jìn)行分組,每若干位分成一組,組內(nèi)所有位的進(jìn)位位同時(shí)生成,組間則仍然是串行進(jìn)位。通過(guò)這種多級(jí)分組
33、的方法,可以大大提高加法器的運(yùn)算速度。 十進(jìn)制加法器的實(shí)現(xiàn) 二進(jìn)制編碼的十進(jìn)制數(shù)可以直接運(yùn)算。但要注意的是,其運(yùn)算結(jié)果需要進(jìn)行修正。 具體修正規(guī)則是:如果兩個(gè)一位BCD碼相加之和小于或等于(1001)2,即十進(jìn)制9,則不需要修正;如相加之和大于(1001)2,則需要進(jìn)行加6修正,并向高位進(jìn)位。 十進(jìn)制加法器可在二進(jìn)制加法器的基礎(chǔ)上加上適當(dāng)?shù)摹靶U边壿媮?lái)實(shí)現(xiàn),如圖是實(shí)現(xiàn)一位十進(jìn)制BCD碼加法的單元電路。 2. 定點(diǎn)數(shù)的乘法運(yùn)算定點(diǎn)數(shù)的乘法運(yùn)算 原碼一位乘法原碼乘法是將符號(hào)位與數(shù)值部分分開進(jìn)行運(yùn)算,運(yùn)算結(jié)果的數(shù)值部分是兩相乘數(shù)的數(shù)值部分之積,而符號(hào)位則是兩相乘數(shù)的符號(hào)位的異或。設(shè)原x0 x1 x
34、2 xn, y 原y0 y1 y2 yn,則xy原(x0 y0)|(x1 x2 xn)(y1 y2 yn) 在計(jì)算機(jī)中實(shí)現(xiàn)乘法運(yùn)算時(shí),必須對(duì)手工過(guò)程進(jìn)行如下調(diào)整:(1)硬件實(shí)現(xiàn)時(shí)需要使用三個(gè)寄存器分別存放乘數(shù)、被乘數(shù)和部分積。(2)機(jī)器中的運(yùn)算器一般一次只能完成兩個(gè)數(shù)的相加,手工一次性相加可以改為逐次加。每次得到一個(gè)部分積,最后一次的部分積即為乘積。(3)手工計(jì)算時(shí),每次得到的位積都相對(duì)上一次位積左移一位,在計(jì)算機(jī)實(shí)現(xiàn)時(shí),可以每次將部分積右移一位,部分積的最低位直送即可。(4)部分積右移時(shí),將乘數(shù)寄存器同時(shí)右移一位,這樣一方面可以每次根據(jù)乘數(shù)寄存器的值決定本次位積的值(若最低位為1,則本次位積
35、為被乘數(shù);若最低位為0,則本次位積為0);另一方面,乘數(shù)寄存器的最高位每次可以接受部分積右移出來(lái)的一位。(5)運(yùn)算完成后,部分積寄存器和乘數(shù)寄存器中分別存放的是最后乘積的高半部和低半部。 實(shí)現(xiàn)原碼一位乘的邏輯電路原理框圖 補(bǔ)碼一位乘法 與原碼一位乘不同的是,補(bǔ)碼一位乘的兩個(gè)乘數(shù)和被乘數(shù)的符號(hào)位是直接參加運(yùn)算的。下面我們介紹一種布斯乘法,該算法是由布斯(Booth)最早提出的,故以其名字命名。陣列乘法器3. 定點(diǎn)數(shù)的除法運(yùn)算定點(diǎn)數(shù)的除法運(yùn)算 原碼一位除法原碼除法是將符號(hào)位與數(shù)值部分分開進(jìn)行運(yùn)算,商的數(shù)值部分是兩相除數(shù)的數(shù)值部分相除之后的結(jié)果,而商的符號(hào)位則是兩相除數(shù)的符號(hào)位的異或。設(shè)原x0 x1
36、 x2 xn, y 原y0 y1 y2 yn,則x/y原(x0 y0)|(x1 x2 xn)/(y1 y2 yn) 補(bǔ)碼一位除法的運(yùn)算規(guī)則若下:(1)如果被除數(shù)與除數(shù)同號(hào),用被除數(shù)減去除數(shù);若兩數(shù)異號(hào),用被除數(shù)加上除數(shù)。如果所得余數(shù)與除數(shù)同號(hào),則商1,否則商0,此即商的符號(hào)位。(2)求商的數(shù)值部分。如果上次商1,將余數(shù)左移一位后減去除數(shù);如果上次商0,將余數(shù)左移一位后加上余數(shù)。然后判斷本次操作后的余數(shù),如果余數(shù)與除數(shù)同號(hào),則商1,否則商0。(3)如此重復(fù)執(zhí)行n-1次(設(shè)數(shù)值部分有n位)。 陣列除法器2.5 浮點(diǎn)數(shù)的運(yùn)算 二進(jìn)制浮點(diǎn)數(shù)的表示形式為:NM2E其中,M為浮點(diǎn)數(shù)的尾數(shù),一般為純小數(shù),在
37、機(jī)器中通常采用補(bǔ)碼表示;E為階碼,為純整數(shù),用補(bǔ)碼或移碼表示。 浮點(diǎn)數(shù)的運(yùn)算實(shí)際上最終轉(zhuǎn)化為定點(diǎn)數(shù)的運(yùn)算來(lái)完成。但由于浮點(diǎn)數(shù)表示的特殊性,其運(yùn)算又比單純的定點(diǎn)數(shù)運(yùn)算更復(fù)雜。 1. 浮點(diǎn)數(shù)的加減運(yùn)算 浮點(diǎn)數(shù)的加減運(yùn)算一般由以下五個(gè)步驟完成:對(duì)階尾數(shù)運(yùn)算結(jié)果規(guī)格化舍入處理溢出判斷對(duì)階 設(shè)兩浮點(diǎn)數(shù)X、Y進(jìn)行加減運(yùn)算,其中 XMx2Ex,YMy2Ey 所謂對(duì)階是指將兩個(gè)進(jìn)行運(yùn)算的浮點(diǎn)數(shù)的階碼對(duì)齊的操作。 對(duì)階的具體方法是:首先求出兩浮點(diǎn)數(shù)階碼的差,即EEx-Ey,將小階碼加上E,使之與大階碼相等,同時(shí)將小階碼對(duì)應(yīng)的浮點(diǎn)數(shù)的尾數(shù)右移相應(yīng)位數(shù),以保證該浮點(diǎn)數(shù)的值不變。 幾點(diǎn)注意:(1)對(duì)階的原則是小階對(duì)大
38、階,之所以這樣做是因?yàn)槿舸箅A對(duì)小階,則尾數(shù)的數(shù)值部分的高位需移出,而小階對(duì)大階移出的是尾數(shù)的數(shù)值部分的低位,這樣損失的精度更小。(2)若E0,說(shuō)明兩浮點(diǎn)數(shù)的階碼已經(jīng)相同,無(wú)需再做對(duì)階操作了。(3)采用補(bǔ)碼表示的尾數(shù)右移時(shí),符號(hào)位保持不變。(4)由于尾數(shù)右移時(shí)是將最低位移出,會(huì)損失一定的精度,為減少誤差,可先保留若干移出的位,供以后舍入處理用。尾數(shù)運(yùn)算 尾數(shù)運(yùn)算就是進(jìn)行完成對(duì)階后的尾數(shù)相加減。這里采用的就是我們前面講過(guò)的純小數(shù)的定點(diǎn)數(shù)加減運(yùn)算。 結(jié)果規(guī)格化 在機(jī)器中,為保證浮點(diǎn)數(shù)表示的唯一性,浮點(diǎn)數(shù)在機(jī)器中都是以規(guī)格化形式存儲(chǔ)的。對(duì)于IEEE754標(biāo)準(zhǔn)的浮點(diǎn)數(shù)來(lái)說(shuō),就是尾數(shù)必須是1.M的形式。
39、規(guī)格化操作包括左規(guī)和右規(guī)兩種情況。左規(guī)操作:將尾數(shù)左移,同時(shí)階碼減值,直至尾數(shù)成為1.M的形式。右規(guī)操作:將尾數(shù)右移1位,同時(shí)階碼增1,便成為規(guī)格化的形式了。要注意的是,右規(guī)操作只需將尾數(shù)右移一位即可,這種情況出現(xiàn)在尾數(shù)的最高位(小數(shù)點(diǎn)前一位)運(yùn)算時(shí)出現(xiàn)了進(jìn)位,使尾數(shù)成為10.xxxx或11.xxxx的形式。舍入處理 浮點(diǎn)運(yùn)算在對(duì)階或右規(guī)時(shí),尾數(shù)需要右移,被右移出去的位會(huì)被丟掉,從而造成運(yùn)算結(jié)果精度的損失。為了減少這種精度損失,可以將一定位數(shù)的移出位先保留起來(lái),稱為保護(hù)位,在規(guī)格化后用于舍入處理。 IEEE754標(biāo)準(zhǔn)列出了四種可選的舍入處理方法:(1)就近舍入(round to nearest
40、) :這是標(biāo)準(zhǔn)列出的默認(rèn)舍入方式,其含義相當(dāng)于我們?nèi)粘Kf(shuō)的“四舍五入”。例如,對(duì)于32位單精度浮點(diǎn)數(shù)來(lái)說(shuō),若超出可保存的23位的多余位大于等于10001,則多余位的值超過(guò)了最低可表示位值的一半,這種情況下,舍入的方法是在尾數(shù)的最低有效位上加1;若多余位小于等于01111,則直接舍去;若多余位為10000,此時(shí)再判斷尾數(shù)的最低有效位的值,若為0則直接舍去,若為1則再加1。(2)朝+舍入(round toward +) :對(duì)正數(shù)來(lái)說(shuō),只要多余位不為全0,則向尾數(shù)最低有效位進(jìn)1;對(duì)負(fù)數(shù)來(lái)說(shuō),則是簡(jiǎn)單地舍去。(3)朝-舍入(round toward -) :與朝+舍入方法正好相反,對(duì)正數(shù)來(lái)說(shuō),只是簡(jiǎn)
41、單地舍去;對(duì)負(fù)數(shù)來(lái)說(shuō),只要多余位不為全0,則向尾數(shù)最低有效位進(jìn)1。(4)朝0舍入(round toward 0) 即簡(jiǎn)單地截?cái)嗌崛?。溢出判?浮點(diǎn)數(shù)的溢出是以其運(yùn)算結(jié)果的階碼的值是否產(chǎn)生溢出來(lái)判斷的。 若階碼的值超過(guò)了階碼所能表示的最大正數(shù),則為上溢。若此時(shí)浮點(diǎn)數(shù)為正數(shù),則為正上溢,記為+;若浮點(diǎn)數(shù)為負(fù)數(shù),則為負(fù)上溢,記為-; 若階碼的值超過(guò)了階碼所能表示的最小負(fù)數(shù),則為下溢。若此時(shí)浮點(diǎn)數(shù)為正數(shù),則為正下溢;若浮點(diǎn)數(shù)為負(fù)數(shù),則為負(fù)下溢;正下溢和負(fù)下溢都作為0處理。 定點(diǎn)數(shù)和浮點(diǎn)數(shù)表示范圍比較機(jī)器零最大正數(shù)最小負(fù)數(shù)最大負(fù)數(shù) 0 最小正數(shù)負(fù)下溢 正下溢下溢上溢最大正數(shù)0最小負(fù)數(shù)負(fù)定點(diǎn)數(shù)正定點(diǎn)數(shù)負(fù)浮
42、點(diǎn)數(shù)正浮點(diǎn)數(shù)負(fù)上溢正上溢定點(diǎn)數(shù)表示范圍浮點(diǎn)數(shù)表示范圍 實(shí)現(xiàn)浮點(diǎn)運(yùn)算的加法器邏輯電路原理框圖 2. 浮點(diǎn)數(shù)的乘除運(yùn)算 浮點(diǎn)數(shù)的乘除運(yùn)算比加減運(yùn)算少了對(duì)階這一步,一般由以下五個(gè)步驟完成:階碼相加/減尾數(shù)相乘/除結(jié)果規(guī)格化舍入處理溢出判斷2.6 數(shù)據(jù)校驗(yàn)碼 數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)中的生成、處理、存儲(chǔ)和傳輸過(guò)程中都可能會(huì)發(fā)生錯(cuò)誤。 從物理差錯(cuò)的種類上講,主要分為隨機(jī)錯(cuò)和突發(fā)錯(cuò)。隨機(jī)錯(cuò)是指由于硬件設(shè)備或物理傳輸介質(zhì)自身原因產(chǎn)生的差錯(cuò),這種錯(cuò)誤是隨機(jī)發(fā)生的,往往是一次發(fā)生一位或若干位的錯(cuò)誤。突發(fā)錯(cuò)是指由于外界的干擾產(chǎn)生的差錯(cuò),這種錯(cuò)誤是突發(fā)的,往往是一次發(fā)生大片數(shù)據(jù)的差錯(cuò)。 解決差錯(cuò)的常用方法是數(shù)據(jù)編碼,即對(duì)要
43、存儲(chǔ)或傳輸?shù)臄?shù)據(jù)進(jìn)行編碼,使之具有檢測(cè)或糾正差錯(cuò)的能力,這種編碼稱為數(shù)據(jù)校驗(yàn)碼。 數(shù)據(jù)校驗(yàn)碼的基本思想是:在數(shù)據(jù)位的基礎(chǔ)上,額外增加若干位的冗余位(又稱校驗(yàn)位),使編碼后的數(shù)據(jù)符合某種規(guī)律,符合這種規(guī)律的編碼屬于合法碼,不符合這種規(guī)律的編碼屬于非法碼,通過(guò)檢測(cè)一個(gè)數(shù)據(jù)編碼的合法性,就可以判斷差錯(cuò)的發(fā)生,進(jìn)一步進(jìn)行差錯(cuò)的定位,從而糾正錯(cuò)誤。 具有檢測(cè)錯(cuò)誤能力的編碼稱為檢錯(cuò)碼,具有糾正錯(cuò)誤能力的編碼稱為糾錯(cuò)碼。1. 奇偶校驗(yàn)碼 奇偶校驗(yàn)碼是一種最簡(jiǎn)單的數(shù)據(jù)校驗(yàn)碼,是奇校驗(yàn)碼和偶校驗(yàn)碼的統(tǒng)稱,屬于檢錯(cuò)碼。 編碼規(guī)則:在數(shù)據(jù)位的基礎(chǔ)上增加一位冗余位,使數(shù)據(jù)編碼碼的合法碼中1的個(gè)數(shù)恒為奇數(shù)或偶數(shù)。若為奇
44、數(shù),則為奇校驗(yàn)碼;若為偶數(shù),則為偶校驗(yàn)碼。 從檢糾錯(cuò)能力上講,奇偶校驗(yàn)碼可以檢測(cè)發(fā)生奇數(shù)位錯(cuò)情況,但不能糾錯(cuò)。由于同時(shí)發(fā)生多位錯(cuò)的概率遠(yuǎn)比發(fā)生一位錯(cuò)的低,所以一般認(rèn)為奇偶校驗(yàn)碼具有檢測(cè)發(fā)生一位錯(cuò)的能力,但不能進(jìn)行錯(cuò)誤定位,即不能糾正錯(cuò)誤。 設(shè)8位數(shù)據(jù)位DD1D2D3D4D5D6D7D8,則偶校驗(yàn)編碼為D1D2D3D4D5D6D7D8 P,其中偶校驗(yàn)位P為D1 D2 D3 D4 D5 D6 D7 D8偶校驗(yàn)檢測(cè)位P*為D1 D2 D3 D4 D5 D6 D7 D8 P 若P*0,則無(wú)錯(cuò);若P*1,則有錯(cuò)。 偶校驗(yàn)位的生成和偶校驗(yàn)的檢測(cè)電路。2. 海明校驗(yàn)碼 海明校驗(yàn)碼是由Richard Hamming于1950年提出的,屬于糾錯(cuò)碼,它不僅具有檢錯(cuò)能力,而且能進(jìn)行錯(cuò)誤定位,從而糾正錯(cuò)誤。 海明校驗(yàn)碼的基本思想是:對(duì)原數(shù)據(jù)碼按某種規(guī)律分成若干組,每組安排一個(gè)校驗(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)四路數(shù)字硬盤錄像機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 【假期提升】五升六語(yǔ)文暑假作業(yè)(九)-人教部編版(含答案含解析)
- 2025年消防設(shè)施操作員之消防設(shè)備中級(jí)技能考前沖刺模擬試卷A卷含答案
- 2025年消防設(shè)施操作員之消防設(shè)備高級(jí)技能每日一練試卷A卷含答案
- 廣東省廣州市海珠區(qū)南武集團(tuán)2022-2023學(xué)年八年級(jí)下學(xué)期期中物理試題(含答案)
- 煙草公司2023招聘考試全真筆試試題(綜合能力測(cè)試卷)和答案解析
- 酒店用品銷售代理合同(2篇)
- 采購(gòu)分包配送合同(2篇)
- 廣告行業(yè)廣告創(chuàng)意版權(quán)保護(hù)協(xié)議
- 社區(qū)農(nóng)業(yè)服務(wù)提供合同書
- 計(jì)算機(jī)基礎(chǔ)教程電子版
- 關(guān)于如何做好清單招標(biāo)控制價(jià)的幾點(diǎn)建議
- 2024陜西西安事業(yè)單位歷年公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(kù)(共500題)答案詳解版
- 2024年湖南水利水電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 有限空間安全檢查表
- 初中生注意力訓(xùn)練注意力
- 充電設(shè)施運(yùn)營(yíng)管理制度文件范文
- 2022年成都地鐵值班員資格考前復(fù)習(xí)題庫(kù)
- 2024年山東省春季高考技能考試-汽車專業(yè)備考試題庫(kù)(濃縮500題)
- 外賣報(bào)告數(shù)據(jù)分析
- 《神奇糖果店》教學(xué)課件
評(píng)論
0/150
提交評(píng)論