版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第2章 運(yùn)算方法和運(yùn)算器2022年5月3日星期二2目錄目錄2.0 數(shù)據(jù)的類型數(shù)據(jù)的類型2.1 數(shù)據(jù)與文字的表示方法數(shù)據(jù)與文字的表示方法 (掌握)(掌握)2.2 定點(diǎn)加法、減法運(yùn)算定點(diǎn)加法、減法運(yùn)算 (掌握)(掌握)2.3 定點(diǎn)乘法運(yùn)算定點(diǎn)乘法運(yùn)算 (理解)(理解)2.4 定點(diǎn)除法運(yùn)算定點(diǎn)除法運(yùn)算 (了解)(了解)2.5 定點(diǎn)運(yùn)算器的組成定點(diǎn)運(yùn)算器的組成 (了解)(了解)2.6 浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器(理解)(理解)2022年5月3日星期二32.0 數(shù)據(jù)的類型(數(shù)據(jù)的類型(1/2)l按數(shù)制分:按數(shù)制分:十進(jìn)制:在微機(jī)中直接運(yùn)算困難;十進(jìn)制:在微機(jī)中直接運(yùn)算困難;二進(jìn)制:
2、占存儲空間少,硬件上易于實(shí)現(xiàn),易于運(yùn)算;二進(jìn)制:占存儲空間少,硬件上易于實(shí)現(xiàn),易于運(yùn)算;十六進(jìn)制:方便觀察和使用;十六進(jìn)制:方便觀察和使用;l按數(shù)據(jù)格式分:按數(shù)據(jù)格式分:真值:沒有經(jīng)過編碼的直觀數(shù)據(jù)表示方式;真值:沒有經(jīng)過編碼的直觀數(shù)據(jù)表示方式;u帶正負(fù)號的數(shù)據(jù),任何數(shù)制均可;帶正負(fù)號的數(shù)據(jù),任何數(shù)制均可;機(jī)器數(shù):符號化后的數(shù)值表示;機(jī)器數(shù):符號化后的數(shù)值表示;u符號也被編碼,不能隨便忽略任何位置上的符號也被編碼,不能隨便忽略任何位置上的0或或1 ;u位數(shù)固定,一般為字節(jié)整倍數(shù),如位數(shù)固定,一般為字節(jié)整倍數(shù),如8位、位、16位、位、32位位;u可用原碼、反碼、補(bǔ)碼、移碼等形式編碼;可用原碼、反
3、碼、補(bǔ)碼、移碼等形式編碼;2022年5月3日星期二42.0 數(shù)據(jù)的類型(數(shù)據(jù)的類型(2/2)l按數(shù)據(jù)的表示范圍分:按數(shù)據(jù)的表示范圍分:定點(diǎn)數(shù)定點(diǎn)數(shù)u小數(shù)點(diǎn)位置固定,數(shù)據(jù)表示范圍??;小數(shù)點(diǎn)位置固定,數(shù)據(jù)表示范圍??;浮點(diǎn)數(shù)浮點(diǎn)數(shù)u小數(shù)點(diǎn)位置不固定,數(shù)據(jù)表示范圍較大。小數(shù)點(diǎn)位置不固定,數(shù)據(jù)表示范圍較大。l按能否表示負(fù)數(shù)分:按能否表示負(fù)數(shù)分:無符號數(shù)無符號數(shù)u數(shù)據(jù)所有位均為表示數(shù)值,只能表示正數(shù);數(shù)據(jù)所有位均為表示數(shù)值,只能表示正數(shù);有符號數(shù)有符號數(shù)u有正負(fù)之分,最高位為符號位,其余位表示數(shù)值。有正負(fù)之分,最高位為符號位,其余位表示數(shù)值。2022年5月3日星期二52.1 數(shù)據(jù)與文字的表示方法數(shù)據(jù)與文字
4、的表示方法l2.1.1 數(shù)據(jù)格式(定點(diǎn)數(shù)表示)數(shù)據(jù)格式(定點(diǎn)數(shù)表示)l2.1.2 數(shù)的機(jī)器碼表示數(shù)的機(jī)器碼表示l2.1.1 數(shù)據(jù)格式(浮點(diǎn)數(shù)表示)數(shù)據(jù)格式(浮點(diǎn)數(shù)表示)l2.1.3 字符與字符串的表示方法字符與字符串的表示方法l2.1.4 漢字的表示方法漢字的表示方法l2.1.5 校驗(yàn)碼校驗(yàn)碼 2022年5月3日星期二6l定點(diǎn)數(shù):小數(shù)點(diǎn)固定在某一位置的數(shù)據(jù);定點(diǎn)數(shù):小數(shù)點(diǎn)固定在某一位置的數(shù)據(jù);純小數(shù):純小數(shù):u表示形式表示形式 有符號數(shù)有符號數(shù) x=xSx-1x-2x-n |x|1-2-n ;xs為符號位為符號位無符號數(shù)無符號數(shù) x=x0 x-1x-2x-n 0 x 1-2-n ;x0=0u數(shù)
5、據(jù)表示范圍數(shù)據(jù)表示范圍 0.00= 0 |x| 1-2-n = 0.11純整數(shù):純整數(shù):u表示形式表示形式 有符號數(shù)有符號數(shù) x=xs x n-1 x 1 x 0 |x|2n-1 ;xs為符號位為符號位 無符號數(shù)無符號數(shù) x=xn x n-1 x 1 x 0 0 x2n+1-1 ;xn為數(shù)值位為數(shù)值位l注意:小數(shù)點(diǎn)的位置是機(jī)器約定好的,并沒有實(shí)際的保存。注意:小數(shù)點(diǎn)的位置是機(jī)器約定好的,并沒有實(shí)際的保存。x0 x-1x-2x-3 x-n xnxn-1xn-2x1x02.1.1 數(shù)據(jù)格式數(shù)據(jù)格式定點(diǎn)數(shù)定點(diǎn)數(shù) 設(shè)采用設(shè)采用n+1位數(shù)據(jù)位數(shù)據(jù)2022年5月3日星期二7定點(diǎn)機(jī)的特點(diǎn)定點(diǎn)機(jī)的特點(diǎn)l所能表
6、示的數(shù)據(jù)范圍小所能表示的數(shù)據(jù)范圍小l數(shù)據(jù)精度較低數(shù)據(jù)精度較低l存儲單元利用率低存儲單元利用率低2022年5月3日星期二82.1.2 數(shù)的機(jī)器碼表示數(shù)的機(jī)器碼表示l重點(diǎn):重點(diǎn):1、原碼、補(bǔ)碼、移碼的表示形式、原碼、補(bǔ)碼、移碼的表示形式2、補(bǔ)碼的定義、補(bǔ)碼的定義3、原碼、補(bǔ)碼、移碼的表示范圍、原碼、補(bǔ)碼、移碼的表示范圍2022年5月3日星期二91、原碼表示法、原碼表示法定義定義l定義:定義:定點(diǎn)小數(shù):定點(diǎn)小數(shù):x原原定點(diǎn)整數(shù):定點(diǎn)整數(shù):x原原l舉例:舉例:+0.110 原原 0.110-0.110原原 1 - (-0.110) = 1.110+110原原 0110-110原原 23- (-110)
7、 1000 +110 = 1110 x1 x 01- x=1+|x| 0 x -1x2n x 02n- x=2n+|x| 0 x -2n實(shí)際機(jī)器中保存時(shí)實(shí)際機(jī)器中保存時(shí)并不保存小數(shù)點(diǎn)并不保存小數(shù)點(diǎn)2022年5月3日星期二101、原碼表示法、原碼表示法特點(diǎn)特點(diǎn)l0有兩種表示法有兩種表示法+0原原 = 0000 ; -0原原 = 1000l數(shù)據(jù)表示范圍數(shù)據(jù)表示范圍定點(diǎn)小數(shù):定點(diǎn)小數(shù):-1X1定點(diǎn)整數(shù)定點(diǎn)整數(shù): -2nX2n (若數(shù)值位(若數(shù)值位n=3,即:,即:-8X x 02+x = 2 - |x| 0 x -1x 2n x 02n+1+x = 2n+1-|x| 0 x -2nx為為n+1位位(
8、mod 2)(mod 2n+1)實(shí)際機(jī)器中保存時(shí)實(shí)際機(jī)器中保存時(shí)并不保存小數(shù)點(diǎn)并不保存小數(shù)點(diǎn)2022年5月3日星期二152、補(bǔ)碼表示法、補(bǔ)碼表示法特點(diǎn)特點(diǎn)l特殊數(shù)據(jù)的表示特殊數(shù)據(jù)的表示0的唯一編碼:的唯一編碼:-0補(bǔ)補(bǔ) 24+(-0) mod 240000+0補(bǔ)補(bǔ)原碼中用于表示原碼中用于表示-0的編碼的編碼100,補(bǔ)碼中表示負(fù)的最小值;,補(bǔ)碼中表示負(fù)的最小值;l數(shù)據(jù)表示范圍數(shù)據(jù)表示范圍定點(diǎn)小數(shù):定點(diǎn)小數(shù):-1X1定點(diǎn)整數(shù)定點(diǎn)整數(shù): -2nX2n (若(若數(shù)值位數(shù)值位n=3,則,則-8X x -2nl與與x補(bǔ)補(bǔ)的區(qū)別:的區(qū)別:符號位相反符號位相反l優(yōu)點(diǎn):優(yōu)點(diǎn):可以比較直觀地判斷兩個(gè)數(shù)據(jù)的大??;可
9、以比較直觀地判斷兩個(gè)數(shù)據(jù)的大??;u浮點(diǎn)數(shù)運(yùn)算時(shí),容易進(jìn)行對階操作;浮點(diǎn)數(shù)運(yùn)算時(shí),容易進(jìn)行對階操作;表示浮點(diǎn)數(shù)階碼時(shí),容易判斷是否下溢;表示浮點(diǎn)數(shù)階碼時(shí),容易判斷是否下溢;u當(dāng)階碼為全當(dāng)階碼為全0時(shí),浮點(diǎn)數(shù)下溢。時(shí),浮點(diǎn)數(shù)下溢。真值真值補(bǔ)碼補(bǔ)碼移碼移碼-8-7-60+1+74位補(bǔ)碼與移碼位補(bǔ)碼與移碼0000000100101000100111111000100110100000000101112022年5月3日星期二19原、補(bǔ)、移碼的編碼形式原、補(bǔ)、移碼的編碼形式l原碼和補(bǔ)碼原碼和補(bǔ)碼正數(shù):正數(shù):u原、補(bǔ)碼的編碼完全相同;原、補(bǔ)碼的編碼完全相同;負(fù)數(shù):負(fù)數(shù):u 符號位為符號位為1;u數(shù)值部分與原
10、碼各位相反,且末位加數(shù)值部分與原碼各位相反,且末位加1;l補(bǔ)碼和移碼補(bǔ)碼和移碼無論正數(shù)還是負(fù)數(shù):無論正數(shù)還是負(fù)數(shù):u符號位相反,數(shù)值位相同;符號位相反,數(shù)值位相同;2022年5月3日星期二20課本課本P22例例6以定點(diǎn)整數(shù)為例以定點(diǎn)整數(shù)為例,用數(shù)軸形式說明原碼、補(bǔ)碼、用數(shù)軸形式說明原碼、補(bǔ)碼、移碼表示范圍和可能的數(shù)位組合情況。移碼表示范圍和可能的數(shù)位組合情況。2022年5月3日星期二21課本課本P22例例7將十進(jìn)制真值將十進(jìn)制真值(127,1,0,1,127)列表列表表示成二進(jìn)制數(shù)及原碼、反碼、補(bǔ)碼、移碼值。表示成二進(jìn)制數(shù)及原碼、反碼、補(bǔ)碼、移碼值。十進(jìn)制真十進(jìn)制真值值二進(jìn)制真二進(jìn)制真值值原碼
11、表示原碼表示反碼表示反碼表示補(bǔ)碼表示補(bǔ)碼表示移碼表示移碼表示-127-10+1+127-111 11111111 1111 1000 0000 1000 0001 0000 0001-000 0001 1000 0001 1111 1110 1111 1111 0111 1111+000 0000-000 00000000 0000 0000 00001000 0000 1111 11110000 00001000 0000+000 0001 0000 0001 0000 0001 0000 0001 1000 0001+111 1111 0111 1111 0111 1111 0111 11
12、11 1111 11112022年5月3日星期二22P22例例8設(shè)機(jī)器字長設(shè)機(jī)器字長16位,定點(diǎn)表示,數(shù)值位,定點(diǎn)表示,數(shù)值15位,數(shù)符位,數(shù)符1位,問:位,問: (1)定點(diǎn)原碼整數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少?定點(diǎn)原碼整數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少? (2)定點(diǎn)原碼小數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少?定點(diǎn)原碼小數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少?0111 1111 1111 11111111 1111 1111 11110111 1111 1111 11111111 1111 1111 1111(215-1) = +32767-(215-1) = -327
13、67(1-2-15) = +(1-1/32768)-(1-2-15) = -(1-1/32768)l定點(diǎn)原碼整數(shù)定點(diǎn)原碼整數(shù)最大正數(shù)最大正數(shù)最小負(fù)數(shù)最小負(fù)數(shù)l定點(diǎn)原碼小數(shù)定點(diǎn)原碼小數(shù)最大正數(shù)最大正數(shù)最小負(fù)數(shù)最小負(fù)數(shù)若用補(bǔ)碼表示呢?若用補(bǔ)碼表示呢?最小正數(shù)、最大最小正數(shù)、最大負(fù)數(shù)各是多少呢?負(fù)數(shù)各是多少呢?2022年5月3日星期二232.1.1 數(shù)據(jù)格式數(shù)據(jù)格式浮點(diǎn)數(shù)浮點(diǎn)數(shù)l浮點(diǎn)數(shù):小數(shù)點(diǎn)位置可變,形如浮點(diǎn)數(shù):小數(shù)點(diǎn)位置可變,形如科學(xué)計(jì)數(shù)法科學(xué)計(jì)數(shù)法中的數(shù)據(jù)表示。中的數(shù)據(jù)表示。l浮點(diǎn)數(shù)格式定義:浮點(diǎn)數(shù)格式定義: N= Re MM:尾數(shù):尾數(shù)(mantissa),是一個(gè),是一個(gè)純小數(shù)純小數(shù),表示數(shù)
14、據(jù)的全部有效數(shù),表示數(shù)據(jù)的全部有效數(shù)位,位,其位數(shù)決定著數(shù)值的精度其位數(shù)決定著數(shù)值的精度;R:基數(shù):基數(shù)(radix) ,可以取,可以取2、8、10、16,表示當(dāng)前的數(shù)制;,表示當(dāng)前的數(shù)制;u微機(jī)中,一般默認(rèn)為微機(jī)中,一般默認(rèn)為2,隱含表示。,隱含表示。e: 階碼階碼(exponent) ,是一個(gè),是一個(gè)整數(shù)整數(shù),用于指出小數(shù)點(diǎn)在該數(shù),用于指出小數(shù)點(diǎn)在該數(shù)中的位置,中的位置,其位數(shù)決定著數(shù)據(jù)的取值范圍其位數(shù)決定著數(shù)據(jù)的取值范圍。l機(jī)器數(shù)的一般表示形式機(jī)器數(shù)的一般表示形式階符階符階碼階碼數(shù)符數(shù)符尾數(shù)尾數(shù)數(shù)符數(shù)符階符階符階碼階碼尾數(shù)尾數(shù)課本課本P172022年5月3日星期二24科學(xué)計(jì)數(shù)法的表示科學(xué)
15、計(jì)數(shù)法的表示l一個(gè)十進(jìn)制數(shù)可以表示成不同的形式:一個(gè)十進(jìn)制數(shù)可以表示成不同的形式:l同理,一個(gè)二進(jìn)制數(shù)也可以有多種表示:同理,一個(gè)二進(jìn)制數(shù)也可以有多種表示:3310()123.456123456 100.123456 10N1001002()1101.001111010011 20.1101.0011 2N2022年5月3日星期二25浮點(diǎn)數(shù)舉例浮點(diǎn)數(shù)舉例l請將數(shù)據(jù)請將數(shù)據(jù)-12.625D用用16位的浮點(diǎn)數(shù)形式表示。位的浮點(diǎn)數(shù)形式表示。數(shù)據(jù)格式如下,階碼(含階符)數(shù)據(jù)格式如下,階碼(含階符)4位,尾數(shù)(含數(shù)符)位,尾數(shù)(含數(shù)符)12位位l-12.625D = -1100.101 B = -0.1
16、100 10124 Bl設(shè)尾數(shù)用原碼表示,階碼用補(bǔ)碼表示;設(shè)尾數(shù)用原碼表示,階碼用補(bǔ)碼表示;浮點(diǎn)數(shù)表示為:浮點(diǎn)數(shù)表示為: 0 100 ; 1.110 0101 0000l設(shè)尾數(shù)用補(bǔ)碼表示,階碼用移碼表示;設(shè)尾數(shù)用補(bǔ)碼表示,階碼用移碼表示;浮點(diǎn)數(shù)表示為:浮點(diǎn)數(shù)表示為: 1 100 ; 1.001 1011 0000階符階符階碼階碼數(shù)符數(shù)符尾數(shù)尾數(shù)1位位3位位1位位11位位2022年5月3日星期二26浮點(diǎn)數(shù)規(guī)格化浮點(diǎn)數(shù)規(guī)格化l浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的表示1.1120=0.11121=0.0011123l規(guī)格化的目的規(guī)格化的目的保證浮點(diǎn)數(shù)表示的唯一性;保證浮點(diǎn)數(shù)表示的唯一性;保留更多地有效數(shù)字,提高運(yùn)算
17、的精度。保留更多地有效數(shù)字,提高運(yùn)算的精度。l規(guī)格化要求:規(guī)格化要求:|尾數(shù)尾數(shù)|0.5;尾數(shù)原碼表示:最高數(shù)值位為尾數(shù)原碼表示:最高數(shù)值位為1,正數(shù),正數(shù)0.1,負(fù)數(shù),負(fù)數(shù)1.1 ;尾數(shù)補(bǔ)碼表示:最高數(shù)值位和符號位相反,尾數(shù)補(bǔ)碼表示:最高數(shù)值位和符號位相反,正數(shù)正數(shù)0.1,負(fù)數(shù),負(fù)數(shù)1.0 ;u+0.1B補(bǔ)補(bǔ)=0.100 -0.1B補(bǔ)補(bǔ)=1.100 -0.1001B補(bǔ)補(bǔ)=1.0111 l規(guī)格化處理:規(guī)格化處理:尾數(shù)向左移尾數(shù)向左移n位位(小數(shù)點(diǎn)右移小數(shù)點(diǎn)右移),同時(shí)階碼減,同時(shí)階碼減n;尾數(shù)向右移尾數(shù)向右移n位位(小數(shù)點(diǎn)左移小數(shù)點(diǎn)左移),同時(shí)階碼加,同時(shí)階碼加n。右規(guī)右規(guī)左規(guī)左規(guī)2022年5
18、月3日星期二27浮點(diǎn)數(shù)的數(shù)據(jù)表示范圍浮點(diǎn)數(shù)的數(shù)據(jù)表示范圍0最大負(fù)數(shù)最大負(fù)數(shù)最小正數(shù)最小正數(shù)最小負(fù)數(shù)最小負(fù)數(shù)最大正數(shù)最大正數(shù)下溢區(qū)下溢區(qū)上溢區(qū)上溢區(qū)上溢區(qū)上溢區(qū)負(fù)數(shù)區(qū)負(fù)數(shù)區(qū)正數(shù)區(qū)正數(shù)區(qū)浮點(diǎn)數(shù)浮點(diǎn)數(shù)最小負(fù)數(shù)最小負(fù)數(shù)最大負(fù)數(shù)最大負(fù)數(shù)最小正數(shù)最小正數(shù)最大正數(shù)最大正數(shù)M取值取值負(fù)的最小值負(fù)的最小值負(fù)的最大值負(fù)的最大值正的最小值正的最小值正的最大值正的最大值E取值取值正的最大值正的最大值負(fù)的最小值負(fù)的最小值負(fù)的最小值負(fù)的最小值正的最大值正的最大值l浮點(diǎn)數(shù)的溢出:階碼溢出浮點(diǎn)數(shù)的溢出:階碼溢出上溢:階碼大于所能表示的最大值;上溢:階碼大于所能表示的最大值;下溢:階碼小于所能表示的最小值;下溢:階碼小于所能表
19、示的最小值;l機(jī)器零:機(jī)器零:尾數(shù)為尾數(shù)為 0,或階碼小于所能表示的最小值;,或階碼小于所能表示的最小值;2022年5月3日星期二28浮點(diǎn)數(shù)的最值浮點(diǎn)數(shù)的最值非規(guī)格化數(shù)據(jù)非規(guī)格化數(shù)據(jù)規(guī)格化數(shù)據(jù)規(guī)格化數(shù)據(jù)真值真值機(jī)器數(shù)機(jī)器數(shù)機(jī)器數(shù)機(jī)器數(shù)真值真值最小最小負(fù)數(shù)負(fù)數(shù)最大最大負(fù)數(shù)負(fù)數(shù)最小最小正數(shù)正數(shù)最大最大正數(shù)正數(shù)設(shè)浮點(diǎn)數(shù)格式為設(shè)浮點(diǎn)數(shù)格式為1位階符位階符m位階碼位階碼1位數(shù)符位數(shù)符n位尾數(shù)位尾數(shù)移碼表示移碼表示-2m,+(2m-1)補(bǔ)碼表示補(bǔ)碼表示-1,+(1-2-n)-12+( 2m-1 )-2-n2-2m+2-n2-2m+(1-2-n)2+(2m-1)1 111;1 00000 000;1 111
20、10 000;0 00011 111;0 1111同左同左同左同左0 000;1 0111 -(2-1+2-n)2-2m+2-12-2m同左同左同左同左0 000;0 10002022年5月3日星期二29【例例1】設(shè)浮點(diǎn)數(shù)的階碼設(shè)浮點(diǎn)數(shù)的階碼6位(含符號位),尾數(shù)位(含符號位),尾數(shù)為為10位(含符號位),階碼和尾數(shù)均采用補(bǔ)碼表位(含符號位),階碼和尾數(shù)均采用補(bǔ)碼表示,分析其規(guī)格化浮點(diǎn)數(shù)表示范圍。示,分析其規(guī)格化浮點(diǎn)數(shù)表示范圍。l 最大正數(shù)最大正數(shù) 階碼最大、尾數(shù)最大階碼最大、尾數(shù)最大 最大正數(shù)為最大正數(shù)為0.1112111 (129)231l 最小正數(shù)最小正數(shù) 最小正數(shù)為最小正數(shù)為0.100
21、0232 即即2-3221 2-33 注意:注意:不是不是 u因?yàn)橐驗(yàn)?.01 2-32不是規(guī)格化數(shù)。不是規(guī)格化數(shù)。0 1 1 0 1 11 5 1 9 1 0 0 0 10 001 5 1 9 1 0 0 0 0 011 5 1 9 2022年5月3日星期二30【例例1】設(shè)浮點(diǎn)數(shù)的階碼設(shè)浮點(diǎn)數(shù)的階碼6位(含符號位),尾數(shù)位(含符號位),尾數(shù)為為10位(含符號位),階碼和尾數(shù)均采用補(bǔ)碼表位(含符號位),階碼和尾數(shù)均采用補(bǔ)碼表示,分析其規(guī)格化浮點(diǎn)數(shù)表示范圍。示,分析其規(guī)格化浮點(diǎn)數(shù)表示范圍。l 最小的負(fù)數(shù)最小的負(fù)數(shù) 最小負(fù)數(shù)為最小負(fù)數(shù)為1.000231 即即231(1)= 231l 最大的負(fù)數(shù)最大
22、的負(fù)數(shù) 最大負(fù)數(shù)為最大負(fù)數(shù)為0.1001232 即(即( 29+ 21 )232 注意:因有規(guī)格化要求,不是注意:因有規(guī)格化要求,不是0 1 1 1 0 01 5 1 91 0 0 1 0 1 11 5 1 9 1 0 0 1 1 1 11 5 1 9 定點(diǎn)數(shù)與浮點(diǎn)數(shù)的定點(diǎn)數(shù)與浮點(diǎn)數(shù)的數(shù)據(jù)表示范圍和精度比較數(shù)據(jù)表示范圍和精度比較l以以16位數(shù)據(jù)為例,編碼方式均采用補(bǔ)碼表示位數(shù)據(jù)為例,編碼方式均采用補(bǔ)碼表示l定點(diǎn)數(shù)定點(diǎn)數(shù)定點(diǎn)整數(shù):定點(diǎn)整數(shù):-215+215-1 (即(即-32768+32767)定點(diǎn)小數(shù):定點(diǎn)小數(shù):-1+1-2-15 (即(即-1+0.999 9694 8242 1875)l浮點(diǎn)
23、數(shù)浮點(diǎn)數(shù)格式:格式:最大正數(shù):最大正數(shù):+111111121111111B最小正數(shù):最小正數(shù):+0.00000012-1111111B最大負(fù)數(shù):最大負(fù)數(shù):-0.00000012-1111111B最小負(fù)數(shù):最小負(fù)數(shù):-111111121111111B2022年5月3日星期二311位階符位階符7位階碼位階碼1位數(shù)符位數(shù)符7位尾數(shù)位尾數(shù)務(wù)必牢記務(wù)必牢記l浮點(diǎn)數(shù)的表示要浮點(diǎn)數(shù)的表示要與具體的格式規(guī)定與具體的格式規(guī)定有關(guān);有關(guān);l在做題時(shí),要看題目里要求的浮點(diǎn)數(shù)格式和編在做題時(shí),要看題目里要求的浮點(diǎn)數(shù)格式和編碼表示;碼表示;l一般機(jī)器中,浮點(diǎn)數(shù)采用一般機(jī)器中,浮點(diǎn)數(shù)采用IEEE754標(biāo)準(zhǔn)來存放標(biāo)準(zhǔn)來存放
24、float、double類型的變量;類型的變量;IEEE754標(biāo)準(zhǔn)只是浮點(diǎn)數(shù)的一種表示形式;標(biāo)準(zhǔn)只是浮點(diǎn)數(shù)的一種表示形式;2022年5月3日星期二322022年5月3日星期二33浮點(diǎn)數(shù)的浮點(diǎn)數(shù)的IEEE754標(biāo)準(zhǔn)表示標(biāo)準(zhǔn)表示lIEEE(Institute of Electrical and Electronics Engineers)美國電氣及電子工程師學(xué)會美國電氣及電子工程師學(xué)會IEEE致力于電氣、電子、計(jì)算機(jī)工程和與科學(xué)有關(guān)的領(lǐng)域致力于電氣、電子、計(jì)算機(jī)工程和與科學(xué)有關(guān)的領(lǐng)域的開發(fā)和研究,也是計(jì)算機(jī)網(wǎng)絡(luò)標(biāo)準(zhǔn)的主要制定者。的開發(fā)和研究,也是計(jì)算機(jī)網(wǎng)絡(luò)標(biāo)準(zhǔn)的主要制定者。 l為便于軟件移植,按照
25、為便于軟件移植,按照 IEEE754 標(biāo)準(zhǔn),實(shí)際機(jī)器內(nèi)標(biāo)準(zhǔn),實(shí)際機(jī)器內(nèi)32位浮點(diǎn)位浮點(diǎn)數(shù)和數(shù)和64位浮點(diǎn)數(shù)的標(biāo)準(zhǔn)格式如下:位浮點(diǎn)數(shù)的標(biāo)準(zhǔn)格式如下:022233031SEM2323位尾數(shù),僅為數(shù)值部分位尾數(shù),僅為數(shù)值部分8 8位階碼,包括階符位階碼,包括階符1 1位數(shù)符位數(shù)符3232位位浮點(diǎn)數(shù)浮點(diǎn)數(shù)051526263SEM6464位位浮點(diǎn)數(shù)浮點(diǎn)數(shù)高級語言中高級語言中的的floatfloat類型類型高級語言中的高級語言中的doubledouble類型類型2022年5月3日星期二3432位浮點(diǎn)數(shù)的位浮點(diǎn)數(shù)的IEEE754 標(biāo)準(zhǔn)表示標(biāo)準(zhǔn)表示l數(shù)符數(shù)符S:表示浮點(diǎn)數(shù)的符號,占表示浮點(diǎn)數(shù)的符號,占1 1位
26、,位,0 0正數(shù)、正數(shù)、1 1負(fù)數(shù);負(fù)數(shù);l尾數(shù)尾數(shù)M:2323位,原碼純小數(shù)表示,小數(shù)點(diǎn)在尾數(shù)域的最前面;位,原碼純小數(shù)表示,小數(shù)點(diǎn)在尾數(shù)域的最前面;由于原碼表示的規(guī)格化浮點(diǎn)數(shù)要求,由于原碼表示的規(guī)格化浮點(diǎn)數(shù)要求,最高數(shù)值位始終為最高數(shù)值位始終為1,因,因此該標(biāo)準(zhǔn)中隱藏最高數(shù)值位此該標(biāo)準(zhǔn)中隱藏最高數(shù)值位(1),尾數(shù)的實(shí)際值為,尾數(shù)的實(shí)際值為1.M;l階碼階碼E: 8 8位,采用有偏移值的移碼表示;位,采用有偏移值的移碼表示;移移127碼,即碼,即E=e+(27-1)=e+127;u標(biāo)準(zhǔn)標(biāo)準(zhǔn)8位移碼應(yīng)該是移位移碼應(yīng)該是移128碼,碼,x移移=x+27=x+128l浮點(diǎn)數(shù)的真值:浮點(diǎn)數(shù)的真值:N
27、=(-1)S(1.M)2E-127數(shù)符數(shù)符S階碼階碼E尾數(shù)尾數(shù)M2022年5月3日星期二35IEEE754 標(biāo)準(zhǔn)格式標(biāo)準(zhǔn)格式 (64位格式)位格式)其真值表示為:其真值表示為: x=(1)S(1.M)2E1023 eE10232022年5月3日星期二36IEEE754 標(biāo)準(zhǔn)的數(shù)據(jù)表示標(biāo)準(zhǔn)的數(shù)據(jù)表示lIEEE754 標(biāo)準(zhǔn)中的階碼標(biāo)準(zhǔn)中的階碼E正零、負(fù)零正零、負(fù)零uE與與M均為零,正負(fù)之分由數(shù)據(jù)符號確定;均為零,正負(fù)之分由數(shù)據(jù)符號確定;正無窮、負(fù)無窮正無窮、負(fù)無窮uE為全為全1,M為全零,正負(fù)之分由數(shù)據(jù)符號確定;為全零,正負(fù)之分由數(shù)據(jù)符號確定;階碼階碼E的其余值(的其余值(0000 0001111
28、1 1110)為規(guī)格化數(shù)據(jù);)為規(guī)格化數(shù)據(jù);u真正的指數(shù)真正的指數(shù)e的范圍為的范圍為-126+127l為避免浮點(diǎn)數(shù)下溢,允許采用為避免浮點(diǎn)數(shù)下溢,允許采用比最小規(guī)格化數(shù)還小的非規(guī)格化比最小規(guī)格化數(shù)還小的非規(guī)格化數(shù)數(shù)來表示,但此時(shí)尾數(shù)來表示,但此時(shí)尾數(shù)M前的隱含位為前的隱含位為0,而不是,而不是1。E=0000 0000,M=0000 0000E=1111 1111,M=0000 00000000 0000 1111 11112022年5月3日星期二37課本課本P18 例例1l例例1 若浮點(diǎn)數(shù)的若浮點(diǎn)數(shù)的754標(biāo)準(zhǔn)存儲格式為標(biāo)準(zhǔn)存儲格式為(41360000)16,求其浮,求其浮點(diǎn)數(shù)的十進(jìn)制數(shù)值。
29、點(diǎn)數(shù)的十進(jìn)制數(shù)值。 l解:解:(41360000)16 = 0100 0001 0011 0110 0000 0000 0000 0000指數(shù)指數(shù)e=E-127= 1000 0010 0111 1111=0000 0011=3尾數(shù)尾數(shù)1.M=1.011 0110 0000 0000 0000 0000=1.011011浮點(diǎn)數(shù)浮點(diǎn)數(shù) N =(-1)S(1.M)2e = (-1)0(1. 011011)23 = (11.375)10數(shù)符數(shù)符S階碼階碼E尾數(shù)尾數(shù)M2022年5月3日星期二38課本課本P18 例例2l例例2 將將(20.59375)10轉(zhuǎn)換成轉(zhuǎn)換成754標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的32位浮點(diǎn)數(shù)的二進(jìn)制
30、存位浮點(diǎn)數(shù)的二進(jìn)制存儲格式。儲格式。l解:解:(20.59375)10(10100.10011)2將尾數(shù)規(guī)范為將尾數(shù)規(guī)范為1.M的形式:的形式: 10100.100111.01001001124e4可得:可得:M 010010011 S 0E 41271311000 0011故,故,32位浮點(diǎn)數(shù)的位浮點(diǎn)數(shù)的754標(biāo)準(zhǔn)格式為:標(biāo)準(zhǔn)格式為: 0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 2022年5月3日星期二39求解技巧求解技巧l將下列十進(jìn)制數(shù)表示成將下列十進(jìn)制數(shù)表示成IEEE754格式的格式的32位浮點(diǎn)數(shù)形式存儲。位浮點(diǎn)數(shù)形式存儲。(1
31、)27/32 (2)11/512l求解:求解:(1)27/32=27*(1/32) = (0001 1011)2*2-5u尾數(shù):尾數(shù):1.1011;階碼:階碼:e=-5+4=-1 ,E=e+127=126uIEEE754數(shù)據(jù)數(shù)據(jù)0 0111 1110 1011 0000 0000 0000 0000 000(2)11/512= (0000 1011)2*2-9u尾數(shù):尾數(shù):1.011;階碼:階碼:e=-9+3=-6 ,E=e+127=121uIEEE754數(shù)據(jù)數(shù)據(jù)0 0111 1001 0110 0000 0000 0000 0000 00C#中中float類型類型和和double類型類型數(shù)據(jù)
32、數(shù)據(jù)運(yùn)算運(yùn)算結(jié)果結(jié)果2022年5月3日星期二40C#中中float類型和類型和double類型數(shù)據(jù)類型數(shù)據(jù)lfloat和和double的精度是由尾數(shù)的位數(shù)來決定的;的精度是由尾數(shù)的位數(shù)來決定的;lfloat類型:類型:223 = 8388608;最多能有最多能有7位有效數(shù)字,但絕對能保證的為位有效數(shù)字,但絕對能保證的為6位;位;即即float的精度為的精度為67位;位;ldouble類型:類型:252 = 4503599627370496;最多能有最多能有16位有效數(shù)字,但絕對能保證的為位有效數(shù)字,但絕對能保證的為15位;位;即即double的精度為的精度為1516位;位;2022年5月3日星
33、期二412022年5月3日星期二42例:將十進(jìn)制數(shù)例:將十進(jìn)制數(shù)-54表示成表示成二進(jìn)制定點(diǎn)數(shù)二進(jìn)制定點(diǎn)數(shù)(16位位)和和浮點(diǎn)數(shù)浮點(diǎn)數(shù)(16位,其中數(shù)值部分位,其中數(shù)值部分10位,階碼部分位,階碼部分4位,階符和數(shù)符各位,階符和數(shù)符各取取1位位),并寫出它在定點(diǎn)機(jī)和浮點(diǎn)機(jī)中的機(jī)器數(shù)形式。,并寫出它在定點(diǎn)機(jī)和浮點(diǎn)機(jī)中的機(jī)器數(shù)形式。l令令 x = -54,則,則x = -110110l16位定點(diǎn)數(shù)真值表示:位定點(diǎn)數(shù)真值表示: x = -000 0000 0011 0110定點(diǎn)機(jī)器數(shù)形式定點(diǎn)機(jī)器數(shù)形式 x原原: x補(bǔ)補(bǔ):l浮點(diǎn)數(shù)規(guī)格化表示:浮點(diǎn)數(shù)規(guī)格化表示:x = -(0.1101100000)21
34、10浮點(diǎn)機(jī)器數(shù)形式浮點(diǎn)機(jī)器數(shù)形式 x原原: x補(bǔ)補(bǔ):32位位IEEE754標(biāo)準(zhǔn):標(biāo)準(zhǔn):x = -(1.101100000)21011 000 0000 0011 01101 111 1111 1100 10100 0110 ; 1 11 0110 00000 0110 ; 1 00 1010 0000數(shù)符數(shù)符S階碼階碼E尾數(shù)尾數(shù)M 1 1000 0100 1011 0000 0000 2022年5月3日星期二43課本課本P23例例9(類似(類似IEEE754標(biāo)準(zhǔn)的公式,但標(biāo)準(zhǔn)的公式,但階碼采用的是移階碼采用的是移128碼)碼)容易混淆,不用看!容易混淆,不用看!2022年5月3日星期二44浙江
35、大學(xué)考研試題浙江大學(xué)考研試題 計(jì)算機(jī)儲存程序的特點(diǎn)之一是把數(shù)據(jù)和指令都作為二進(jìn)制信號計(jì)算機(jī)儲存程序的特點(diǎn)之一是把數(shù)據(jù)和指令都作為二進(jìn)制信號看待。今有一計(jì)算機(jī)字長看待。今有一計(jì)算機(jī)字長32bit,數(shù)符位是第,數(shù)符位是第31bit;單精度??;單精度浮點(diǎn)數(shù)格式如圖所示。點(diǎn)數(shù)格式如圖所示。 對于二進(jìn)制數(shù)對于二進(jìn)制數(shù)1000 1111 1110 1111 1100 0000 0000 0000 表示一個(gè)補(bǔ)碼整數(shù),其十進(jìn)制值是多少?表示一個(gè)補(bǔ)碼整數(shù),其十進(jìn)制值是多少? 表示一個(gè)無符號整數(shù),其十進(jìn)制值是多少?表示一個(gè)無符號整數(shù),其十進(jìn)制值是多少? 表示一個(gè)表示一個(gè)IEEE754標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù),其值是多少
36、?標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù),其值是多少?8位位23位位131 30 23 22 02022年5月3日星期二45二進(jìn)制數(shù)二進(jìn)制數(shù)1000 1111 1110 1111 1100 0000 0000 0000l 表示一個(gè)補(bǔ)碼整數(shù),其十進(jìn)制值是多少?表示一個(gè)補(bǔ)碼整數(shù),其十進(jìn)制值是多少?n作為補(bǔ)碼整數(shù),其對應(yīng)的原碼是作為補(bǔ)碼整數(shù),其對應(yīng)的原碼是1111 0000 0001 0000 0100 0000 0000 0000n十進(jìn)制值是十進(jìn)制值是 -(230+ 229 +228 + 220 + 214 )l 表示一個(gè)無符號整數(shù),其十進(jìn)制值是多少?表示一個(gè)無符號整數(shù),其十進(jìn)制值是多少?n作為無符號整數(shù),其十進(jìn)制值
37、是作為無符號整數(shù),其十進(jìn)制值是231+ 227+ 226 +225 + 224 + 223+ 222 +221 + 219 +218 + 217 +216 + 215 +2142022年5月3日星期二46二進(jìn)制數(shù)二進(jìn)制數(shù)1000 1111 1110 1111 1100 0000 0000 0000l 作為作為IEEE754標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù)標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù)n階碼階碼E是是0001 1111n指數(shù)指數(shù)e階碼階碼E1270001 11110111 1111 -1100000B-96Dn尾數(shù)尾數(shù)M=110 1111 1100 0000 0000 0000n則則1.M =1. 110 1111 11
38、00 0000 0000 0000=1.110 1111 11單精度浮點(diǎn)數(shù)值為:單精度浮點(diǎn)數(shù)值為: X (-1)s1.M2e-(1.110 1111 11)2-96 -(0.1110 1111 11)2-95 -(1416-11516-21216-3)2-95 -0.31152-95 2022年5月3日星期二472.1.1數(shù)據(jù)格式數(shù)據(jù)格式十進(jìn)制數(shù)串的表示方法十進(jìn)制數(shù)串的表示方法l字符串形式字符串形式每個(gè)十進(jìn)制每個(gè)十進(jìn)制數(shù)位數(shù)位占用一個(gè)字節(jié);占用一個(gè)字節(jié);除保存各數(shù)位,還需要指明該數(shù)存放的起始地址和總位數(shù);除保存各數(shù)位,還需要指明該數(shù)存放的起始地址和總位數(shù);主要用于非數(shù)值計(jì)算的應(yīng)用領(lǐng)域。主要用于
39、非數(shù)值計(jì)算的應(yīng)用領(lǐng)域。 l壓縮的十進(jìn)制數(shù)串形式壓縮的十進(jìn)制數(shù)串形式采用采用BCD碼表示,一個(gè)字節(jié)可存放兩個(gè)十進(jìn)制數(shù)位;碼表示,一個(gè)字節(jié)可存放兩個(gè)十進(jìn)制數(shù)位;節(jié)省存儲空間,便于直接完成十進(jìn)制數(shù)的算術(shù)運(yùn)算;節(jié)省存儲空間,便于直接完成十進(jìn)制數(shù)的算術(shù)運(yùn)算; 用特殊的二進(jìn)制編碼表示數(shù)據(jù)正負(fù),如用特殊的二進(jìn)制編碼表示數(shù)據(jù)正負(fù),如1100正、正、1101負(fù)負(fù)2022年5月3日星期二482.1.3 字符與字符串的表示方法字符與字符串的表示方法lASCII碼碼(美國國家信息交換標(biāo)準(zhǔn)字符碼美國國家信息交換標(biāo)準(zhǔn)字符碼)包括包括128個(gè)字符,共需個(gè)字符,共需7位編碼;位編碼;ASCII碼規(guī)定:最高位為碼規(guī)定:最高位為
40、0,余下,余下7位作為位作為128個(gè)字符的編碼。個(gè)字符的編碼。最高位的作用:奇偶校驗(yàn);擴(kuò)展編碼。最高位的作用:奇偶校驗(yàn);擴(kuò)展編碼。l字符串字符串指連續(xù)的一串字符,指連續(xù)的一串字符, 每個(gè)字節(jié)存一個(gè)字符。每個(gè)字節(jié)存一個(gè)字符。當(dāng)存儲字長為當(dāng)存儲字長為2、或、或4個(gè)字節(jié)時(shí),在同一個(gè)存儲單元中個(gè)字節(jié)時(shí),在同一個(gè)存儲單元中;u可按從低位字節(jié)向高位字節(jié)的順序存放字符串的內(nèi)容可按從低位字節(jié)向高位字節(jié)的順序存放字符串的內(nèi)容;u或按從高位字節(jié)向低位字節(jié)的次序順序存放字符串的內(nèi)容?;虬磸母呶蛔止?jié)向低位字節(jié)的次序順序存放字符串的內(nèi)容。 2022年5月3日星期二492.1.4 漢字的表示方法漢字的表示方法l漢字的輸入
41、編碼漢字的輸入編碼 目的:直接使用西文標(biāo)準(zhǔn)鍵盤把漢字輸入到計(jì)算機(jī)目的:直接使用西文標(biāo)準(zhǔn)鍵盤把漢字輸入到計(jì)算機(jī) 。 分類:主要有數(shù)字編碼、拼音碼分類:主要有數(shù)字編碼、拼音碼 、字形編碼三類。、字形編碼三類。l漢字內(nèi)碼漢字內(nèi)碼用于漢字信息的存儲、交換、檢索等操作的機(jī)內(nèi)代碼。用于漢字信息的存儲、交換、檢索等操作的機(jī)內(nèi)代碼。如:如:GB2312、UNICODE編碼。編碼。l漢字字模碼漢字字模碼用點(diǎn)陣表示的漢字字形代碼,用于漢字的輸出。用點(diǎn)陣表示的漢字字形代碼,用于漢字的輸出。2022年5月3日星期二50顯示輸出顯示輸出打印輸出打印輸出機(jī)內(nèi)碼向字形碼轉(zhuǎn)換機(jī)內(nèi)碼向字形碼轉(zhuǎn)換機(jī)內(nèi)碼機(jī)內(nèi)碼輸入碼向機(jī)內(nèi)碼轉(zhuǎn)換輸
42、入碼向機(jī)內(nèi)碼轉(zhuǎn)換中文編碼中文編碼字符代碼化(輸入)字符代碼化(輸入)數(shù)字碼數(shù)字碼拼音碼拼音碼字形碼字形碼2022年5月3日星期二51漢字字模碼漢字字模碼精密型精密型4848 4848288288提高型提高型3232 3232128128普及型普及型2424 24247272簡易型簡易型1616 16163232漢字點(diǎn)陣類型漢字點(diǎn)陣類型點(diǎn)陣點(diǎn)陣占用字節(jié)數(shù)占用字節(jié)數(shù)2022年5月3日星期二522.1.5 校驗(yàn)碼(數(shù)據(jù)校驗(yàn))校驗(yàn)碼(數(shù)據(jù)校驗(yàn))l數(shù)據(jù)校驗(yàn)原因數(shù)據(jù)校驗(yàn)原因?yàn)闇p少和避免數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)運(yùn)行或傳送過程中發(fā)生錯(cuò)為減少和避免數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)運(yùn)行或傳送過程中發(fā)生錯(cuò)誤,在數(shù)據(jù)的編碼上提供了檢錯(cuò)和糾錯(cuò)
43、的支持。誤,在數(shù)據(jù)的編碼上提供了檢錯(cuò)和糾錯(cuò)的支持。l數(shù)據(jù)校驗(yàn)碼的定義數(shù)據(jù)校驗(yàn)碼的定義能夠發(fā)現(xiàn)某些錯(cuò)誤或具有自動(dòng)糾錯(cuò)能力的數(shù)據(jù)編碼;能夠發(fā)現(xiàn)某些錯(cuò)誤或具有自動(dòng)糾錯(cuò)能力的數(shù)據(jù)編碼;也稱檢錯(cuò)碼;也稱檢錯(cuò)碼;l數(shù)據(jù)校驗(yàn)的基本原理是數(shù)據(jù)校驗(yàn)的基本原理是擴(kuò)大碼距擴(kuò)大碼距;碼距碼距:任意任意兩個(gè)合法碼之間不同的二進(jìn)制位的兩個(gè)合法碼之間不同的二進(jìn)制位的最少位數(shù)最少位數(shù);僅有一位不同時(shí),稱其碼距為僅有一位不同時(shí),稱其碼距為1。2022年5月3日星期二53碼距及作用碼距及作用l設(shè)用四位二進(jìn)制表示設(shè)用四位二進(jìn)制表示16種狀態(tài)種狀態(tài)16種編碼都用到了,此時(shí)碼距為種編碼都用到了,此時(shí)碼距為1;任何一種狀態(tài)的四位碼中的一
44、位或幾位出錯(cuò),就變成另一任何一種狀態(tài)的四位碼中的一位或幾位出錯(cuò),就變成另一個(gè)合法碼;個(gè)合法碼;無檢錯(cuò)能力。無檢錯(cuò)能力。l若用四位二進(jìn)制表示若用四位二進(jìn)制表示8個(gè)狀態(tài)個(gè)狀態(tài)只用其中的只用其中的8種編碼,而把另種編碼,而把另8種編碼作為非法編碼;種編碼作為非法編碼;可使碼距擴(kuò)大為可使碼距擴(kuò)大為2;u注意:并不是任選注意:并不是任選8種編碼都可擴(kuò)大碼距;種編碼都可擴(kuò)大碼距; 2022年5月3日星期二54校驗(yàn)碼的類型校驗(yàn)碼的類型l奇偶校驗(yàn)碼奇偶校驗(yàn)碼根據(jù)數(shù)據(jù)中根據(jù)數(shù)據(jù)中“1”的個(gè)數(shù),設(shè)置的個(gè)數(shù),設(shè)置1位校驗(yàn)位的值;位校驗(yàn)位的值;分分奇校驗(yàn)奇校驗(yàn)和和偶校驗(yàn)偶校驗(yàn)兩種,兩種,只能檢錯(cuò),無糾錯(cuò)能力只能檢錯(cuò),
45、無糾錯(cuò)能力;l海明校驗(yàn)碼海明校驗(yàn)碼在奇偶校驗(yàn)的基礎(chǔ)上,增加校驗(yàn)位而得;在奇偶校驗(yàn)的基礎(chǔ)上,增加校驗(yàn)位而得;具有檢錯(cuò)和糾錯(cuò)的能力具有檢錯(cuò)和糾錯(cuò)的能力;l循環(huán)冗余校驗(yàn)碼(循環(huán)冗余校驗(yàn)碼(CRC)通過模通過模2的除法運(yùn)算建立數(shù)據(jù)信息和校驗(yàn)位之間的約定關(guān)系;的除法運(yùn)算建立數(shù)據(jù)信息和校驗(yàn)位之間的約定關(guān)系;具有很強(qiáng)的檢錯(cuò)糾錯(cuò)能力。具有很強(qiáng)的檢錯(cuò)糾錯(cuò)能力。2022年5月3日星期二55奇偶校驗(yàn)碼奇偶校驗(yàn)碼概念概念l奇偶校驗(yàn)原理奇偶校驗(yàn)原理在數(shù)據(jù)中增加在數(shù)據(jù)中增加1個(gè)冗余位,使碼距由個(gè)冗余位,使碼距由1增加到增加到2;如果合法編碼中有奇數(shù)個(gè)位發(fā)生了錯(cuò)誤,就將成為非法代碼。如果合法編碼中有奇數(shù)個(gè)位發(fā)生了錯(cuò)誤,就將
46、成為非法代碼。增加的冗余位稱為奇偶校驗(yàn)位。增加的冗余位稱為奇偶校驗(yàn)位。l校驗(yàn)的類型校驗(yàn)的類型偶校驗(yàn):每個(gè)碼字偶校驗(yàn):每個(gè)碼字(包括校驗(yàn)位包括校驗(yàn)位)中中1的數(shù)目為偶數(shù)。的數(shù)目為偶數(shù)。奇校驗(yàn):每個(gè)碼字奇校驗(yàn):每個(gè)碼字(包括校驗(yàn)位包括校驗(yàn)位)中中1的數(shù)目為奇數(shù)。的數(shù)目為奇數(shù)。l校驗(yàn)過程校驗(yàn)過程發(fā)送端:按照校驗(yàn)類型,在發(fā)送數(shù)據(jù)后添加校驗(yàn)位發(fā)送端:按照校驗(yàn)類型,在發(fā)送數(shù)據(jù)后添加校驗(yàn)位P;接收端:對接收到的數(shù)據(jù)(包括校驗(yàn)位)進(jìn)行接收端:對接收到的數(shù)據(jù)(包括校驗(yàn)位)進(jìn)行同樣類型的校同樣類型的校驗(yàn)驗(yàn),決定數(shù)據(jù)傳輸中是否存在錯(cuò)誤;,決定數(shù)據(jù)傳輸中是否存在錯(cuò)誤;2022年5月3日星期二56接收端接收端字字校驗(yàn)位
47、校驗(yàn)位校驗(yàn)碼校驗(yàn)碼例例1: 數(shù)據(jù)數(shù)據(jù) 0010 0001奇校驗(yàn)碼奇校驗(yàn)碼0010 0001 1偶校驗(yàn)碼偶校驗(yàn)碼0010 0001 0例例2: 0111 0101偶校驗(yàn)碼偶校驗(yàn)碼 0111 0101 1發(fā)送端發(fā)送端(門電路)(門電路)0110 0101 1出錯(cuò)!出錯(cuò)!奇偶校驗(yàn)碼例題奇偶校驗(yàn)碼例題數(shù)據(jù)傳送數(shù)據(jù)傳送 2022年5月3日星期二57海明碼海明碼l海明碼是海明碼是1950年提出的;年提出的;只要增加少數(shù)的幾位校驗(yàn)碼,即可檢測出多位出錯(cuò),并能自只要增加少數(shù)的幾位校驗(yàn)碼,即可檢測出多位出錯(cuò),并能自動(dòng)恢復(fù)一或幾位出錯(cuò)信息;動(dòng)恢復(fù)一或幾位出錯(cuò)信息;l實(shí)現(xiàn)原理:實(shí)現(xiàn)原理:在一個(gè)數(shù)據(jù)中加入幾個(gè)校驗(yàn)位,
48、在一個(gè)數(shù)據(jù)中加入幾個(gè)校驗(yàn)位,每個(gè)校驗(yàn)位和某幾個(gè)特定的每個(gè)校驗(yàn)位和某幾個(gè)特定的信息位信息位構(gòu)成偶校驗(yàn)的關(guān)系;構(gòu)成偶校驗(yàn)的關(guān)系;接收端對每個(gè)偶關(guān)系進(jìn)行校驗(yàn),產(chǎn)生校驗(yàn)因子;接收端對每個(gè)偶關(guān)系進(jìn)行校驗(yàn),產(chǎn)生校驗(yàn)因子;通過通過校正因子校正因子區(qū)分區(qū)分無錯(cuò)無錯(cuò)和碼字中的和碼字中的n個(gè)不同位置的錯(cuò)誤個(gè)不同位置的錯(cuò)誤;u不同代碼位上的錯(cuò)誤會得出不同的校驗(yàn)結(jié)果;不同代碼位上的錯(cuò)誤會得出不同的校驗(yàn)結(jié)果;2022年5月3日星期二58海明校驗(yàn)的過程海明校驗(yàn)的過程l 確定校驗(yàn)位的位數(shù)確定校驗(yàn)位的位數(shù) 數(shù)據(jù)位數(shù)不同,所需的校驗(yàn)位位數(shù)也不同;數(shù)據(jù)位數(shù)不同,所需的校驗(yàn)位位數(shù)也不同;l 確定校驗(yàn)位的位置確定校驗(yàn)位的位置 數(shù)據(jù)位
49、和校驗(yàn)位是交叉排列的;數(shù)據(jù)位和校驗(yàn)位是交叉排列的;l 校驗(yàn)分組校驗(yàn)分組 選擇校驗(yàn)位和數(shù)據(jù)位的對應(yīng)關(guān)系;選擇校驗(yàn)位和數(shù)據(jù)位的對應(yīng)關(guān)系;l 校驗(yàn)位的形成校驗(yàn)位的形成 由分組內(nèi)的數(shù)據(jù)位形成對應(yīng)的校驗(yàn)位;由分組內(nèi)的數(shù)據(jù)位形成對應(yīng)的校驗(yàn)位;l 接收端校驗(yàn)接收端校驗(yàn) 接收端校驗(yàn)數(shù)據(jù)的正誤;接收端校驗(yàn)數(shù)據(jù)的正誤;2022年5月3日星期二59海明碼海明碼確定校驗(yàn)位的位數(shù)確定校驗(yàn)位的位數(shù)l設(shè)設(shè)K為有效信息的位數(shù),為有效信息的位數(shù),r為校驗(yàn)位的位數(shù),則整個(gè)碼字的位數(shù)為校驗(yàn)位的位數(shù),則整個(gè)碼字的位數(shù)N應(yīng)滿足不等式:應(yīng)滿足不等式:NKr2r1 通常稱為(通常稱為(N,K)海明碼)海明碼l設(shè)某設(shè)某(7,4)海明碼表示的
50、碼字長度為海明碼表示的碼字長度為 位,校驗(yàn)位數(shù)為位,校驗(yàn)位數(shù)為 位。位。l例如:數(shù)據(jù)例如:數(shù)據(jù)D3D2D1D0 =1001K=4,r+5 2r ;可知,需要校驗(yàn)位可知,需要校驗(yàn)位3位位P3P2P1 ;732022年5月3日星期二60海明碼海明碼確定校驗(yàn)位的位置確定校驗(yàn)位的位置l數(shù)據(jù)表示數(shù)據(jù)表示數(shù)據(jù)位數(shù)據(jù)位D(DiDi-1D1D0) 、校驗(yàn)位、校驗(yàn)位P(PjPj-1P2P1)海明碼海明碼H (包括數(shù)據(jù)位和校驗(yàn)位):(包括數(shù)據(jù)位和校驗(yàn)位):HmHm-1H2H1;l分組原則分組原則每個(gè)校驗(yàn)位每個(gè)校驗(yàn)位Pi從低到高被分在海明碼中位號從低到高被分在海明碼中位號2i-1的位置;的位置;l例如:數(shù)據(jù)例如:數(shù)
51、據(jù)D3D2D1D0 =1001,校驗(yàn)位,校驗(yàn)位P3P2P1海明碼共海明碼共7位位H7H6H2H1 ,各位分配如下:,各位分配如下:H7H6H5H4H3H2H1P1 P2 P3 D0 D1 D2 D3 2022年5月3日星期二61海明碼海明碼校驗(yàn)分組校驗(yàn)分組l校驗(yàn)原則校驗(yàn)原則海明碼的每一位海明碼的每一位Hi有多個(gè)校驗(yàn)位校驗(yàn),其關(guān)系是有多個(gè)校驗(yàn)位校驗(yàn),其關(guān)系是被校驗(yàn)的每被校驗(yàn)的每一位位號一位位號等于等于校驗(yàn)它的各校驗(yàn)位的位號之和校驗(yàn)它的各校驗(yàn)位的位號之和;每個(gè)信息位的位置寫成用每個(gè)信息位的位置寫成用2的冪次之和的形式的冪次之和的形式 ;l例如例如H7參與參與H1、H2、H4的校驗(yàn);的校驗(yàn);H6參與
52、參與H2、H4的校驗(yàn);的校驗(yàn);H5參與參與H1、H4的校驗(yàn);的校驗(yàn);H3參與參與H1、H2的校驗(yàn);的校驗(yàn);l分組情況分組情況H7H6H5H4H3H2H1P1 P2 P3 D0 D1 D2 D3 第一組第一組P1(H1)第二組第二組P2(H2)第三組第三組P3(H4)第一組(第一組(P1、D3、D1、D0)第二組(第二組(P2、D3、D2、D0 )第三組(第三組(P3、D3、D2、D1 )2022年5月3日星期二62海明碼海明碼校驗(yàn)位的形成校驗(yàn)位的形成l校驗(yàn)位形成公式校驗(yàn)位形成公式P1第一組中所有位第一組中所有位(除除P1)求異或求異或 Pj 第第j組中所有位組中所有位(除除Pj)求異或求異或l
53、為了能檢測兩個(gè)錯(cuò)誤,增加一位校驗(yàn)為了能檢測兩個(gè)錯(cuò)誤,增加一位校驗(yàn)Pj1,放在,放在最高位最高位。Pj 1所有位所有位(包括包括P1,P2 , , Pj)求異或求異或l例如:例如:P1D3 D1 D0 =1 0 1=0P2D3 D2 D0 =1 0 1=0P3D3 D2 D1 =1 0 0=1P4D3 D2 D1 D0 P3 P2 P1=1 0 0 1 0 0 1=1第一組(第一組(P1、D3、D1、D0)第二組(第二組(P2、D3、D2、D0 )第三組(第三組(P3、D3、D2、D1 )數(shù)據(jù)數(shù)據(jù)D3D2D1D0 =10012022年5月3日星期二63海明碼海明碼接收端校驗(yàn)(接收端校驗(yàn)(1/2)
54、l接收端接收到數(shù)據(jù)后,分別求接收端接收到數(shù)據(jù)后,分別求S1,S2,S3,Sj S1第一組中所有位第一組中所有位(包括包括P1)求異或求異或 Sj第第j組中所有位組中所有位(包括包括Pj)求異或求異或Sj 1 Pj 1 所有位所有位(包括包括P1,P2 , , Pj)求異或求異或 l當(dāng)當(dāng)Sj 11時(shí),有一位出錯(cuò);時(shí),有一位出錯(cuò);由由Sj S3 S2S1 的編碼指出出錯(cuò)位號,將其取反,即可糾錯(cuò)。的編碼指出出錯(cuò)位號,將其取反,即可糾錯(cuò)。l當(dāng)當(dāng)Sj 10時(shí),無錯(cuò)或有偶數(shù)個(gè)錯(cuò)(兩個(gè)錯(cuò)的可能性比較大);時(shí),無錯(cuò)或有偶數(shù)個(gè)錯(cuò)(兩個(gè)錯(cuò)的可能性比較大);l當(dāng)當(dāng)Sj S3 S2S1 0 0 00時(shí),接收的數(shù)無錯(cuò),
55、否則有兩個(gè)錯(cuò)。時(shí),接收的數(shù)無錯(cuò),否則有兩個(gè)錯(cuò)。2022年5月3日星期二64l同上例,接收端接收的數(shù)據(jù)為同上例,接收端接收的數(shù)據(jù)為l接收端求接收端求SS10 1 0 1=0S20 1 0 1=0S31 1 0 0=0S41 1 0 0 1 1 0 0 =0l若接收端接收到錯(cuò)誤的數(shù)據(jù)若接收端接收到錯(cuò)誤的數(shù)據(jù)S10 1 0 1=0S20 1 1 1=1S31 1 1 0=1S41 1 1 0 1 1 0 0 =1海明碼海明碼接收端校驗(yàn)(接收端校驗(yàn)(2/2)H8H7H6H5H4H3H2H1P4D3D2D1P3D0P2P111001100第一組(第一組(P1、D3、D1、D0)第二組(第二組(P2、D3
56、、D2、D0 )第三組(第三組(P3、D3、D2、D1 )無錯(cuò)誤!無錯(cuò)誤!1S4=1,有錯(cuò)誤!,有錯(cuò)誤!S3S2S1=110,H6位有錯(cuò),應(yīng)取反!位有錯(cuò),應(yīng)取反!2022年5月3日星期二65【練習(xí)練習(xí)】設(shè)待校驗(yàn)的數(shù)據(jù)為設(shè)待校驗(yàn)的數(shù)據(jù)為D7D010101011,寫出其海明校驗(yàn)碼。,寫出其海明校驗(yàn)碼?!窘饨狻看_定海明校驗(yàn)位的位數(shù)確定海明校驗(yàn)位的位數(shù) 因?yàn)橐驗(yàn)镵8, 由由NKr 2r1,得,得9r 2r,校驗(yàn)位的位數(shù)為,校驗(yàn)位的位數(shù)為r4。確定校驗(yàn)位的位置確定校驗(yàn)位的位置 i:12 11 10 9 8 7 6 5 4 3 2 1 D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1
57、分組(分組(N位分位分r組)組)位號位號i121110987654321D7D6D5D4P4D3D2D1P3D0P2P110101011第一組第一組(P1)第二組第二組(P2)第三組第三組(P3)第四組第四組(P4)2022年5月3日星期二66【練習(xí)練習(xí)】設(shè)待校驗(yàn)的數(shù)據(jù)為設(shè)待校驗(yàn)的數(shù)據(jù)為D7D010101011,寫出其海明校驗(yàn)碼。,寫出其海明校驗(yàn)碼。校驗(yàn)位的形成校驗(yàn)位的形成 P1=D6 D4 D3 D1 D0 1; P2=D6 D5 D3 D2 D0 1 P3=D7 D3 D2 D1 1 ; P4=D7 D6 D5 D4 0 所以,信息碼所以,信息碼10101011的海明校驗(yàn)碼為:的海明校驗(yàn)碼
58、為:1010 0 101 1 1 112022年5月3日星期二67海明碼的糾錯(cuò)與檢錯(cuò)能力海明碼的糾錯(cuò)與檢錯(cuò)能力l一個(gè)系統(tǒng)能糾正一位差錯(cuò)時(shí),碼距最一個(gè)系統(tǒng)能糾正一位差錯(cuò)時(shí),碼距最小是小是3;碼距為碼距為3時(shí),或能糾正一位錯(cuò),或時(shí),或能糾正一位錯(cuò),或能檢測二位錯(cuò);能檢測二位錯(cuò);但不能同時(shí)糾正一位錯(cuò)并檢測二但不能同時(shí)糾正一位錯(cuò)并檢測二位錯(cuò)。位錯(cuò)。l碼距為碼距為1至至7時(shí),海明碼的糾錯(cuò)和檢錯(cuò)時(shí),海明碼的糾錯(cuò)和檢錯(cuò)能力如右表:能力如右表:l碼距越大,糾錯(cuò)能力越強(qiáng),但數(shù)據(jù)冗碼距越大,糾錯(cuò)能力越強(qiáng),但數(shù)據(jù)冗余也越大,即編碼效率低了。余也越大,即編碼效率低了。 碼距碼距碼碼 能能 力力檢錯(cuò)檢錯(cuò) 糾錯(cuò)糾錯(cuò)1 1
59、0 00 02 21 01 03 32 2 或或 1 14 42 2 并并 1 15 52 2 并并 2 26 63 3 并并 2 27 73 3 并并 3 32022年5月3日星期二68CRC校驗(yàn)校驗(yàn)lCRC的工作方法的工作方法在發(fā)送端產(chǎn)生一個(gè)循環(huán)冗余碼,附加在信息位后面一起發(fā)在發(fā)送端產(chǎn)生一個(gè)循環(huán)冗余碼,附加在信息位后面一起發(fā)送到接收端;送到接收端;接收端收到的信息按發(fā)送端形成循環(huán)冗余碼同樣的算法進(jìn)接收端收到的信息按發(fā)送端形成循環(huán)冗余碼同樣的算法進(jìn)行校驗(yàn);行校驗(yàn);若無錯(cuò),則接收;若有錯(cuò),需重發(fā)。若無錯(cuò),則接收;若有錯(cuò),需重發(fā)。 lCRC的特點(diǎn)的特點(diǎn)可檢測出所有奇數(shù)位錯(cuò);可檢測出所有奇數(shù)位錯(cuò);
60、可檢測出所有雙比特的錯(cuò);可檢測出所有雙比特的錯(cuò);可檢測出所有小于、等于校驗(yàn)位長度的突發(fā)錯(cuò)??蓹z測出所有小于、等于校驗(yàn)位長度的突發(fā)錯(cuò)。 lCRC碼的信息字段和校驗(yàn)字段的長度可以任意選定。碼的信息字段和校驗(yàn)字段的長度可以任意選定。 2022年5月3日星期二692.2 定點(diǎn)加法、減法運(yùn)算定點(diǎn)加法、減法運(yùn)算 l2.2.1 補(bǔ)碼加法補(bǔ)碼加法l2.2.2 補(bǔ)碼減法補(bǔ)碼減法l2.2.3 溢出概念與檢驗(yàn)方法溢出概念與檢驗(yàn)方法l2.2.4 基本的二進(jìn)制加法、減法器基本的二進(jìn)制加法、減法器2022年5月3日星期二702.2.1 補(bǔ)碼加法補(bǔ)碼加法l補(bǔ)碼加法運(yùn)算基本公式補(bǔ)碼加法運(yùn)算基本公式定點(diǎn)整數(shù):定點(diǎn)整數(shù): x+y
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車站裝修批蕩施工協(xié)議
- 防腐施工應(yīng)急預(yù)案合同
- 互聯(lián)網(wǎng)項(xiàng)目招投標(biāo)合同注意事項(xiàng)
- 化工行業(yè)招待費(fèi)管理新方法
- 花藝助理勞動(dòng)合同注意事項(xiàng)
- 供水供電收費(fèi)管理:發(fā)票管理辦法
- 食品飲料輸送管道施工
- 2025版空置房屋閑置資源盤活利用合作開發(fā)合同3篇
- 臨時(shí)辦學(xué)場所租賃合同
- 2025版二零二五年度新能源充電樁建設(shè)與運(yùn)營合同3篇
- 終極戰(zhàn)略規(guī)劃指南:深度剖析Cross SWOT分析、市場洞察與內(nèi)部能力優(yōu)化的綜合行動(dòng)方案
- 中國偏頭痛診治指南(第一版)2023解讀
- 湖北省武漢市黃陂區(qū)2024年數(shù)學(xué)六年級第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 關(guān)于開展2024年度保密自查自評專項(xiàng)檢查工作的實(shí)施方案
- 商場反恐防暴應(yīng)急預(yù)案演練方案
- 2024年天津市西青經(jīng)濟(jì)開發(fā)集團(tuán)限公司公開招聘工作人員高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 智慧物業(yè)管理的區(qū)塊鏈技術(shù)應(yīng)用
- 數(shù)據(jù)庫設(shè)計(jì)規(guī)范標(biāo)準(zhǔn)
- 公安管理學(xué)試題(含答案)
- 2023年全國職業(yè)院校技能大賽賽項(xiàng)-ZZ019 智能財(cái)稅基本技能賽題 - 模塊三-答案
- 一例護(hù)理不良事件分析(手術(shù)室異物遺留預(yù)防)
評論
0/150
提交評論