版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示1蔣本珊蔣本珊 編著編著中國計算機(jī)學(xué)會中國計算機(jī)學(xué)會“21“21世紀(jì)大學(xué)本科計算機(jī)專業(yè)系列教材世紀(jì)大學(xué)本科計算機(jī)專業(yè)系列教材”第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示2第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示3 數(shù)據(jù)是計算機(jī)加工和處理的對象,數(shù)據(jù)是計算機(jī)加工和處理的對象,數(shù)據(jù)的機(jī)器層次表示將直接影響到計算數(shù)據(jù)的機(jī)器層次表示將直接影響到計算機(jī)的結(jié)構(gòu)和性能。本章主要介紹無符號機(jī)的結(jié)構(gòu)和性能。本章主要介紹無符號數(shù)和帶符號數(shù)的表示方法、數(shù)的定點與數(shù)和帶符號數(shù)的表示方法、數(shù)的定點與浮點表示方法、字符和漢字的編碼方法、浮點表示方法、字符和漢字
2、的編碼方法、數(shù)據(jù)校驗碼等。熟悉和掌握本章的內(nèi)容,數(shù)據(jù)校驗碼等。熟悉和掌握本章的內(nèi)容,是學(xué)習(xí)計算機(jī)原理的最基本要求。是學(xué)習(xí)計算機(jī)原理的最基本要求。 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示4本章學(xué)習(xí)內(nèi)容本章學(xué)習(xí)內(nèi)容 2.1 數(shù)值數(shù)據(jù)的表示數(shù)值數(shù)據(jù)的表示 2.2 機(jī)器數(shù)的定點表示和浮點表示機(jī)器數(shù)的定點表示和浮點表示 2.3 非數(shù)值數(shù)據(jù)的表示非數(shù)值數(shù)據(jù)的表示 2.4 十進(jìn)制數(shù)和數(shù)串的表示十進(jìn)制數(shù)和數(shù)串的表示 2.5 現(xiàn)代微型計算機(jī)中的數(shù)據(jù)表示舉例現(xiàn)代微型計算機(jī)中的數(shù)據(jù)表示舉例 2.6 數(shù)據(jù)校驗碼數(shù)據(jù)校驗碼第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示5本章學(xué)習(xí)要求本章學(xué)習(xí)要求 了解:了解:
3、無符號數(shù)與帶符號數(shù),真值和機(jī)器數(shù)等無符號數(shù)與帶符號數(shù),真值和機(jī)器數(shù)等概念概念 掌握:原碼、補(bǔ)碼、反碼表示法以及三種碼制掌握:原碼、補(bǔ)碼、反碼表示法以及三種碼制與真值之間的轉(zhuǎn)換方法與真值之間的轉(zhuǎn)換方法 掌握:定點數(shù)和浮點數(shù)的表示范圍掌握:定點數(shù)和浮點數(shù)的表示范圍 理解:浮點數(shù)階碼的移碼理解:浮點數(shù)階碼的移碼 了解了解:IEEE754浮點數(shù)標(biāo)準(zhǔn)浮點數(shù)標(biāo)準(zhǔn) 掌握:常見的字符編碼方法(掌握:常見的字符編碼方法(ASCII碼)、漢碼)、漢字國標(biāo)碼、區(qū)位碼、機(jī)內(nèi)碼字國標(biāo)碼、區(qū)位碼、機(jī)內(nèi)碼 掌握:掌握:8241碼、碼、2421碼和余碼和余3碼碼 掌握:奇偶校驗位及其形成方法掌握:奇偶校驗位及其形成方法 了解
4、:海明校驗碼和循環(huán)冗余校驗碼了解:海明校驗碼和循環(huán)冗余校驗碼 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示62.1 數(shù)值數(shù)據(jù)的表示數(shù)值數(shù)據(jù)的表示 在計算機(jī)中,采用數(shù)字化方式來表在計算機(jī)中,采用數(shù)字化方式來表示數(shù)據(jù),數(shù)據(jù)有無符號數(shù)和帶符號數(shù)之示數(shù)據(jù),數(shù)據(jù)有無符號數(shù)和帶符號數(shù)之分,其中帶符號數(shù)根據(jù)其編碼的不同又分,其中帶符號數(shù)根據(jù)其編碼的不同又有原碼、補(bǔ)碼和反碼有原碼、補(bǔ)碼和反碼3種形式。種形式。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示72.1.1 2.1.1 計算機(jī)中的數(shù)值數(shù)據(jù)計算機(jī)中的數(shù)值數(shù)據(jù) 二進(jìn)制數(shù):后綴二進(jìn)制數(shù):后綴B 八進(jìn)制數(shù):后綴八進(jìn)制數(shù):后綴Q 十進(jìn)制數(shù):后綴十進(jìn)制數(shù):
5、后綴D或省略后綴或省略后綴 十六進(jìn)制數(shù):后綴十六進(jìn)制數(shù):后綴H第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示82.1.2 2.1.2 無符號數(shù)和帶符號數(shù)無符號數(shù)和帶符號數(shù) 無符號數(shù),就是整個機(jī)器字長的全無符號數(shù),就是整個機(jī)器字長的全部二進(jìn)制位均表示數(shù)值位(沒有符號位),部二進(jìn)制位均表示數(shù)值位(沒有符號位),相當(dāng)于數(shù)的絕對值。例如:相當(dāng)于數(shù)的絕對值。例如: N1=01001 表示無符號數(shù)表示無符號數(shù)9 N2=11001 表示無符號數(shù)表示無符號數(shù)25 機(jī)器字長為機(jī)器字長為n+1位的無符號數(shù)的表示位的無符號數(shù)的表示范圍是范圍是0(2n+1-1),此時二進(jìn)制的最高位此時二進(jìn)制的最高位也是數(shù)值位,其權(quán)
6、值等于也是數(shù)值位,其權(quán)值等于2n。若字長為若字長為8位,則數(shù)的表示范圍為位,則數(shù)的表示范圍為0255。 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示92.1.2 2.1.2 無符號數(shù)和帶符號數(shù)(續(xù))無符號數(shù)和帶符號數(shù)(續(xù)) 帶符號數(shù),即正、負(fù)數(shù)。在日常生帶符號數(shù),即正、負(fù)數(shù)。在日常生活中,我們用活中,我們用“+”、“-”號加絕對值號加絕對值來表示數(shù)值的大小,用這種形式表示的來表示數(shù)值的大小,用這種形式表示的數(shù)值在計算機(jī)技術(shù)中稱為數(shù)值在計算機(jī)技術(shù)中稱為“真值真值”。 在計算機(jī)中需要把數(shù)的符號數(shù)碼化。在計算機(jī)中需要把數(shù)的符號數(shù)碼化。通常,約定二進(jìn)制數(shù)的最高位為符號位,通常,約定二進(jìn)制數(shù)的最高位
7、為符號位,“0”表示正號,表示正號,“1”表示負(fù)號。這種表示負(fù)號。這種在計算機(jī)中使用的表示數(shù)的形式稱為在計算機(jī)中使用的表示數(shù)的形式稱為機(jī)機(jī)器數(shù)器數(shù)。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示102.1.2 2.1.2 無符號數(shù)和帶符號數(shù)(續(xù))無符號數(shù)和帶符號數(shù)(續(xù)) 常見的機(jī)器數(shù)有原碼、反碼、補(bǔ)碼常見的機(jī)器數(shù)有原碼、反碼、補(bǔ)碼等等3種不同的表示形式。種不同的表示形式。 帶符號數(shù)的最高位被用來表示符號帶符號數(shù)的最高位被用來表示符號位,而不再表示數(shù)值位。前例中的位,而不再表示數(shù)值位。前例中的N1、N2 在這里的含義變?yōu)椋涸谶@里的含義變?yōu)椋?N1=01001 表示表示+9。 N2=11001
8、根據(jù)機(jī)器數(shù)的不同形式根據(jù)機(jī)器數(shù)的不同形式表示不同的值,如是原碼則表示表示不同的值,如是原碼則表示-9,補(bǔ),補(bǔ)碼則表示碼則表示-7,反碼則表示,反碼則表示-6。 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示112.1.3 2.1.3 原碼表示法原碼表示法 原碼表示法是一種最簡單的機(jī)器數(shù)原碼表示法是一種最簡單的機(jī)器數(shù)表示法,用最高位表示符號位,符號位表示法,用最高位表示符號位,符號位為為“0”表示該數(shù)為正,符號位為表示該數(shù)為正,符號位為“1”表示該數(shù)為負(fù),數(shù)值部分與真值相同。表示該數(shù)為負(fù),數(shù)值部分與真值相同。 設(shè)二進(jìn)制純小數(shù)的原碼形式為設(shè)二進(jìn)制純小數(shù)的原碼形式為Xs.X1X2Xn,字長字長n+
9、1位,其中位,其中Xs表示表示符號位。符號位。 例例1:X1=0.0110, X1原原=0.0110 X2=-0.0110, X2原原=1.0110第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示122.1.3 2.1.3 原碼表示法(續(xù))原碼表示法(續(xù)) 設(shè)二進(jìn)制純整數(shù)的原碼形式為設(shè)二進(jìn)制純整數(shù)的原碼形式為XsX1X2Xn,其中其中Xs表示符號位。表示符號位。 例例2: X1=1101, X1原原=01101 X2=-1101, X2原原=11101 在原碼表示中,真值在原碼表示中,真值0有兩種不同的有兩種不同的表示形式:表示形式: +0原原=00000 -0原原=10000第第2章章 數(shù)據(jù)
10、的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示132.1.4 2.1.4 補(bǔ)碼表示法補(bǔ)碼表示法 1.模和同余模和同余 模模是指一個計量器的容量,可用是指一個計量器的容量,可用M表示。表示。例如:一個例如:一個4位的二進(jìn)制計數(shù)器,當(dāng)計數(shù)器從位的二進(jìn)制計數(shù)器,當(dāng)計數(shù)器從0計到計到15之后,再加之后,再加1,計數(shù)值又變?yōu)?,計?shù)值又變?yōu)?。這個計。這個計數(shù)器的容量數(shù)器的容量M=24=16,即模為即模為16。由此可見,。由此可見,純小數(shù)的模為純小數(shù)的模為2,一個字長為,一個字長為n+1位的純整數(shù)的位的純整數(shù)的模為模為2n+1。 同余同余是指兩整數(shù)是指兩整數(shù)A、B除以同一正整數(shù)除以同一正整數(shù)M,所得余數(shù)相同,則稱所得余
11、數(shù)相同,則稱A、B對對M同余,即同余,即A、B在以在以M為模時是相等的,可寫作為模時是相等的,可寫作 A=B (mod M) 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示14時鐘正撥和倒撥時鐘正撥和倒撥 對鐘表而言,對鐘表而言,M=12。假設(shè):時鐘停假設(shè):時鐘停在在8點,而現(xiàn)在正確的時間是點,而現(xiàn)在正確的時間是6點,這時點,這時撥準(zhǔn)時鐘的方法有兩種:正撥和倒撥。撥準(zhǔn)時鐘的方法有兩種:正撥和倒撥。 分針倒著旋轉(zhuǎn)分針倒著旋轉(zhuǎn)2圈,等于分針正著旋圈,等于分針正著旋轉(zhuǎn)轉(zhuǎn)10圈。故有:圈。故有:-2=10 (mod 12) ,即即 -2和和10同余。同余。 8-2=8+10 (mod 12) 倒撥時
12、鐘倒撥時鐘正撥時鐘正撥時鐘點擊播放第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示15 補(bǔ)碼的符號位表示方法與原碼相同,補(bǔ)碼的符號位表示方法與原碼相同,其數(shù)值部分的表示與數(shù)的正負(fù)有關(guān):對于其數(shù)值部分的表示與數(shù)的正負(fù)有關(guān):對于正數(shù),數(shù)值部分與真值形式相同;對于負(fù)正數(shù),數(shù)值部分與真值形式相同;對于負(fù)數(shù),將真值的數(shù)值部分按位取反,且在最數(shù),將真值的數(shù)值部分按位取反,且在最低位上加低位上加1。 若真值為純小數(shù),它的補(bǔ)碼形式為若真值為純小數(shù),它的補(bǔ)碼形式為Xs.X1X2Xn,其中其中Xs表示符號位。表示符號位。 例例5:X1=0.0110, X1補(bǔ)補(bǔ)=0.0110 X2=-0.0110, X2補(bǔ)補(bǔ)=1.
13、10102.補(bǔ)碼表示補(bǔ)碼表示第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示16 若真值為純整數(shù),它的補(bǔ)碼形式為若真值為純整數(shù),它的補(bǔ)碼形式為XsX1X2Xn,其中其中Xs表示符號位。表示符號位。 例例6:X1=1101, X1補(bǔ)補(bǔ)=01101 X2=-1101, X2補(bǔ)補(bǔ)=10011 在補(bǔ)碼表示中,真值在補(bǔ)碼表示中,真值0的表示形式是的表示形式是唯一的:唯一的: +0補(bǔ)補(bǔ)=-0補(bǔ)補(bǔ)=000002.補(bǔ)碼表示(續(xù))補(bǔ)碼表示(續(xù))第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示17 當(dāng)當(dāng)X為正數(shù)時,為正數(shù)時,X補(bǔ)補(bǔ)=X原原=X 當(dāng)當(dāng)X為負(fù)數(shù)時,由為負(fù)數(shù)時,由X原原轉(zhuǎn)換為轉(zhuǎn)換為X補(bǔ)補(bǔ)的的方法:方法:
14、 X原原除掉符號位外的各位取反加除掉符號位外的各位取反加“1”。 自低位向高位,尾數(shù)的第一個自低位向高位,尾數(shù)的第一個“1”及其右部的及其右部的“0”保持不變,左部的各位保持不變,左部的各位取反,符號位保持不變。取反,符號位保持不變。 例例7:X原原 =1.1110011000 X補(bǔ)補(bǔ) =1.00011010003.由真值、原碼轉(zhuǎn)換為補(bǔ)碼由真值、原碼轉(zhuǎn)換為補(bǔ)碼不變不變不變不變變反變反第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示182.1.5 2.1.5 反碼表示法反碼表示法 反碼表示法與補(bǔ)碼表示法有許多類反碼表示法與補(bǔ)碼表示法有許多類似之處,對于正數(shù),數(shù)值部分與真值形似之處,對于正數(shù),數(shù)值
15、部分與真值形式相同;對于負(fù)數(shù),將真值的數(shù)值部分式相同;對于負(fù)數(shù),將真值的數(shù)值部分按位取反。按位取反。 若真值為純小數(shù),它的反碼形式為若真值為純小數(shù),它的反碼形式為Xs.X1X2Xn,其中其中Xs表示符號位。表示符號位。 例例9:X1=0.0110, X1反反=0.0110 X2=-0.0110, X2反反=1.1001第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示192.1.5 2.1.5 反碼表示法(續(xù))反碼表示法(續(xù)) 若真值為純整數(shù),它的反碼形式為若真值為純整數(shù),它的反碼形式為XsX1X2Xn,其中其中Xs表示符號位。表示符號位。 例例10:X1=1101, X1補(bǔ)補(bǔ)=01101 X2
16、=-1101, X2補(bǔ)補(bǔ)=10010 在反碼表示中,真值在反碼表示中,真值0也有兩種不同也有兩種不同的表示形式:的表示形式: +0反反=00000 -0反反=11111第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示20 1.比較比較 對于正數(shù)它們都等于真值本身,而對于負(fù)數(shù)各對于正數(shù)它們都等于真值本身,而對于負(fù)數(shù)各有不同的表示。有不同的表示。 最高位都表示符號位,補(bǔ)碼和反碼的符號位可最高位都表示符號位,補(bǔ)碼和反碼的符號位可作為數(shù)值位的一部分看待,和數(shù)值位一起參加作為數(shù)值位的一部分看待,和數(shù)值位一起參加運算;但原碼的符號位不允許和數(shù)值位同等看運算;但原碼的符號位不允許和數(shù)值位同等看待,必須分開進(jìn)
17、行處理。待,必須分開進(jìn)行處理。 對于真值對于真值0,原碼和反碼各有兩種不同的表示,原碼和反碼各有兩種不同的表示形式,而補(bǔ)碼只有唯一的一種表示形式。形式,而補(bǔ)碼只有唯一的一種表示形式。 原碼、反碼表示的正、負(fù)數(shù)范圍相對零來說是原碼、反碼表示的正、負(fù)數(shù)范圍相對零來說是對稱的;但補(bǔ)碼負(fù)數(shù)表示范圍較正數(shù)表示范圍對稱的;但補(bǔ)碼負(fù)數(shù)表示范圍較正數(shù)表示范圍寬,能多表示一個最負(fù)的數(shù)(絕對值最大的負(fù)寬,能多表示一個最負(fù)的數(shù)(絕對值最大的負(fù)數(shù)),其值等于數(shù)),其值等于-2n(純整數(shù))或純整數(shù))或-1(純小數(shù))。(純小數(shù))。2.1.6 2.1.6 三種碼制的比較與轉(zhuǎn)換三種碼制的比較與轉(zhuǎn)換第第2章章 數(shù)據(jù)的機(jī)器層次表
18、示數(shù)據(jù)的機(jī)器層次表示21真值與真值與3種機(jī)器數(shù)間的對照種機(jī)器數(shù)間的對照真值真值 X X 真值真值 X X 十進(jìn)制十進(jìn)制 二進(jìn)制二進(jìn)制 XX 原原XX 反反XX 補(bǔ)補(bǔ) 十進(jìn)制十進(jìn)制 二進(jìn)制二進(jìn)制 XX 原原 XX 反反 XX 補(bǔ)補(bǔ) +0+0 +1+1 +2+2 +3+3 +4+4 +5+5 +6+6 +7+7 +8+8 +000+000 +001+001 +010+010 +011+011 +100+100 +101+101 +110+110 +111+111 - - 00000000 00010001 00100010 00110011 01000100 01010101 01100110 0
19、1110111 - - - -0 0 - -1 1 - -2 2 - -3 3 - -4 4 - -5 5 - -6 6 - -7 7 - -8 8 - -000000 - -001001 - -010010 - -011011 - -100100 - -101101 - -110110 - -111111 - -10001000 10001000 10011001 10101010 10111011 11001100 11011101 11101110 11111111 - - 11111111 1111110 0 11110101 1101100 0 1 1011011 1011010 0
20、 10100101 1001000 0 - - 00000000 1111111 1 11111010 1101101 1 1 11 10000 1011011 1 10101 10 0 1001001 1 10001000 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示222.轉(zhuǎn)換轉(zhuǎn)換 如果已知機(jī)器的字長,則機(jī)器數(shù)的位數(shù)應(yīng)如果已知機(jī)器的字長,則機(jī)器數(shù)的位數(shù)應(yīng)補(bǔ)夠相應(yīng)的位。例如,設(shè)機(jī)器字長為補(bǔ)夠相應(yīng)的位。例如,設(shè)機(jī)器字長為8位,則:位,則: X1=1011 X2=-1011 X1原原=00001011 X2原原=10001011 X1補(bǔ)補(bǔ)=00001011 X2補(bǔ)補(bǔ)=11110101 X1反
21、反=00001011 X2反反=11110100 X3=0.1011 X4=-0.1011 X3原原=0.1011000 X4原原=1.1011000 X3補(bǔ)補(bǔ)=0.1011000 X4補(bǔ)補(bǔ)=1.0101000 X3反反=0.1011000 X4反反=1.0100111第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示232.2 機(jī)器數(shù)的定點表示與浮點表示機(jī)器數(shù)的定點表示與浮點表示 計算機(jī)在進(jìn)行算術(shù)運算時,需要指計算機(jī)在進(jìn)行算術(shù)運算時,需要指出小數(shù)點的位置。根據(jù)小數(shù)點的位置是出小數(shù)點的位置。根據(jù)小數(shù)點的位置是否固定,在計算機(jī)中有兩種數(shù)據(jù)格式:否固定,在計算機(jī)中有兩種數(shù)據(jù)格式:定點表示和浮點表示。
22、定點表示和浮點表示。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示242.2.1 2.2.1 定點表示法定點表示法 在定點表示法中約定:所有數(shù)據(jù)的在定點表示法中約定:所有數(shù)據(jù)的小數(shù)點位置固定不變小數(shù)點位置固定不變。1.定點小數(shù)定點小數(shù) 小數(shù)點的位置固定在最高有效數(shù)位小數(shù)點的位置固定在最高有效數(shù)位之前,符號位之后之前,符號位之后,記作,記作Xs.X1X2Xn,這個數(shù)是一個純小數(shù)。定點小數(shù)的小數(shù)這個數(shù)是一個純小數(shù)。定點小數(shù)的小數(shù)點位置是隱含約定的,小數(shù)點并不需要點位置是隱含約定的,小數(shù)點并不需要真正地占據(jù)一個二進(jìn)制位。真正地占據(jù)一個二進(jìn)制位。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示25定
23、點小數(shù)表示范圍定點小數(shù)表示范圍圖圖2-2 定點小數(shù)格式定點小數(shù)格式 當(dāng)當(dāng)Xs=0,X1Xn=1時,時,X為最大正數(shù)。為最大正數(shù)。 X最大正數(shù)最大正數(shù) =1-2-n 當(dāng)當(dāng)Xn=1,XsXn-1=0時,時,X為最小正數(shù)。為最小正數(shù)。 X最小正數(shù)最小正數(shù) =2-nn位數(shù)值位數(shù)符小數(shù)點位置(隱含)XsX1Xn-1Xn第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示26定點小數(shù)表示范圍(續(xù))定點小數(shù)表示范圍(續(xù)) 當(dāng)當(dāng)Xs=1,表示表示X為負(fù)數(shù),此時情況要為負(fù)數(shù),此時情況要稍微復(fù)雜一些,這是因為在計算機(jī)中帶符稍微復(fù)雜一些,這是因為在計算機(jī)中帶符號數(shù)可用補(bǔ)碼表示,也可用原碼表示。原號數(shù)可用補(bǔ)碼表示,也可用
24、原碼表示。原碼和補(bǔ)碼的表示范圍有一些差別。碼和補(bǔ)碼的表示范圍有一些差別。 若機(jī)器數(shù)為原碼表示,當(dāng)若機(jī)器數(shù)為原碼表示,當(dāng)XsXn均等均等于于1時,時,X為絕對值最大的負(fù)數(shù)。為絕對值最大的負(fù)數(shù)。 X絕對值最大負(fù)數(shù)絕對值最大負(fù)數(shù)=-(1-2-n) 若機(jī)器數(shù)為補(bǔ)碼表示,當(dāng)若機(jī)器數(shù)為補(bǔ)碼表示,當(dāng)Xs=1,X1Xn均等于均等于0時,時,X為絕對值最大的負(fù)數(shù)。為絕對值最大的負(fù)數(shù)。 X絕對值最大負(fù)數(shù)絕對值最大負(fù)數(shù)=-1第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示27 若機(jī)器字長有若機(jī)器字長有n+1位,則有:位,則有: 原碼定點小數(shù)表示范圍:原碼定點小數(shù)表示范圍: -(1-2-n)(1-2-n) 補(bǔ)碼定點小
25、數(shù)表示范圍:補(bǔ)碼定點小數(shù)表示范圍: -1(1-2-n) 若機(jī)器字長有若機(jī)器字長有8位,則有:位,則有: 原碼定點小數(shù)表示范圍:原碼定點小數(shù)表示范圍: - 補(bǔ)碼定點小數(shù)表示范圍:補(bǔ)碼定點小數(shù)表示范圍: -1定點小數(shù)表示范圍(續(xù))定點小數(shù)表示范圍(續(xù))128127128127128127第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示282.定點整數(shù)定點整數(shù) 定點整數(shù)即純整數(shù),定點整數(shù)即純整數(shù),小數(shù)點位置隱小數(shù)點位置隱含固定在最低有效數(shù)位之后含固定在最低有效數(shù)位之后,記作,記作XsX1X2Xn。圖圖2-3 定點整數(shù)格式定點整數(shù)格式XsX1Xn-1n位數(shù)值位數(shù)符小數(shù)點位置(隱含)Xn第第2章章 數(shù)據(jù)
26、的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示29若機(jī)器字長有若機(jī)器字長有n+1位,則有:位,則有:原碼定點整數(shù)的表示范圍:原碼定點整數(shù)的表示范圍: -(2n-1)(2n-1)補(bǔ)碼定點整數(shù)的表示范圍:補(bǔ)碼定點整數(shù)的表示范圍: -2n (2n-1)若機(jī)器字長有若機(jī)器字長有8位,則有:位,則有:原碼定點整數(shù)表示范圍:原碼定點整數(shù)表示范圍: -127127補(bǔ)碼定點整數(shù)表示范圍:補(bǔ)碼定點整數(shù)表示范圍: -128127定點整數(shù)表示范圍定點整數(shù)表示范圍第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示30 小數(shù)點的位置根據(jù)需要而浮動,這小數(shù)點的位置根據(jù)需要而浮動,這就是浮點數(shù)就是浮點數(shù)。例如:。例如: N=MrE 式中:
27、式中:r為浮點數(shù)階碼的底,與尾數(shù)為浮點數(shù)階碼的底,與尾數(shù)的基數(shù)相同,通常的基數(shù)相同,通常r=2。E和和M都是帶符號都是帶符號數(shù),數(shù),E叫做階碼,叫做階碼,M叫做尾數(shù)。在大多數(shù)叫做尾數(shù)。在大多數(shù)計算機(jī)中,尾數(shù)為純小數(shù),常用原碼或補(bǔ)計算機(jī)中,尾數(shù)為純小數(shù),常用原碼或補(bǔ)碼表示;階碼為純整數(shù),常用移碼或補(bǔ)碼碼表示;階碼為純整數(shù),常用移碼或補(bǔ)碼表示。表示。1011.101=0.1011101*242.2.2 2.2.2 浮點表示法浮點表示法 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示31圖圖2-5 浮點數(shù)的一般格式浮點數(shù)的一般格式 浮點數(shù)的底是隱含的,在整個機(jī)器浮點數(shù)的底是隱含的,在整個機(jī)器數(shù)中不
28、出現(xiàn)。階碼的符號位為數(shù)中不出現(xiàn)。階碼的符號位為es,階碼的階碼的大小反映了在數(shù)大小反映了在數(shù)N中小數(shù)點的實際位置;中小數(shù)點的實際位置;尾數(shù)的符號位為尾數(shù)的符號位為ms,它是整個浮點數(shù)的符它是整個浮點數(shù)的符號位,表示了該浮點數(shù)的正負(fù)。號位,表示了該浮點數(shù)的正負(fù)。浮點數(shù)的一般格式浮點數(shù)的一般格式尾數(shù)部分M階碼部分Eesemsmk位n位1位1位第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示321.浮點數(shù)的表示范圍浮點數(shù)的表示范圍 當(dāng)當(dāng)es=0,ms=0,階碼和尾數(shù)的數(shù)值階碼和尾數(shù)的數(shù)值位各位全為位各位全為1(即階碼和尾數(shù)都為最大正(即階碼和尾數(shù)都為最大正數(shù))時,該浮點數(shù)為最大正數(shù):數(shù))時,該浮點數(shù)
29、為最大正數(shù): X最大正數(shù)最大正數(shù)=(1-2-n) 當(dāng)當(dāng)es=1,ms=0,尾數(shù)的最低位尾數(shù)的最低位mn=1,其余各位為其余各位為0(即階碼為絕對值最大的負(fù)(即階碼為絕對值最大的負(fù)數(shù),尾數(shù)為最小正數(shù))時,該浮點數(shù)為數(shù),尾數(shù)為最小正數(shù))時,該浮點數(shù)為最小正數(shù):最小正數(shù): X最小正數(shù)最小正數(shù)=2-n 122kk22第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示331.浮點數(shù)的表示范圍(續(xù))浮點數(shù)的表示范圍(續(xù)) 當(dāng)當(dāng)es=0,階碼的數(shù)值位為全階碼的數(shù)值位為全1;ms=1,尾數(shù)的數(shù)值位為全尾數(shù)的數(shù)值位為全0(即階碼為最大正數(shù),(即階碼為最大正數(shù),尾數(shù)為絕對值最大的負(fù)數(shù))時,該浮點尾數(shù)為絕對值最大的負(fù)
30、數(shù))時,該浮點數(shù)為絕對值最大負(fù)數(shù):數(shù)為絕對值最大負(fù)數(shù): X絕對值最大負(fù)數(shù)絕對值最大負(fù)數(shù)= -1 122 k第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示34 為了提高運算的精度,需要充分地為了提高運算的精度,需要充分地利用尾數(shù)的有效數(shù)位,通常采取浮點數(shù)規(guī)利用尾數(shù)的有效數(shù)位,通常采取浮點數(shù)規(guī)格化形式,即規(guī)定格化形式,即規(guī)定尾數(shù)的最高數(shù)位必須是尾數(shù)的最高數(shù)位必須是一個有效值一個有效值。 1/2 |M| 12.規(guī)格化浮點數(shù)規(guī)格化浮點數(shù)第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示352.規(guī)格化浮點數(shù)(續(xù))規(guī)格化浮點數(shù)(續(xù)) 在尾數(shù)用補(bǔ)碼表示時,規(guī)格化浮點數(shù)在尾數(shù)用補(bǔ)碼表示時,規(guī)格化浮點數(shù)應(yīng)滿足應(yīng)
31、滿足尾數(shù)最高數(shù)位與符號位不同尾數(shù)最高數(shù)位與符號位不同(ms m1 =1),),即當(dāng)即當(dāng)1/2M1時,應(yīng)有時,應(yīng)有0.1xxx形式,當(dāng)形式,當(dāng)-1M-1/2時,應(yīng)有時,應(yīng)有1.0 xxx形式。形式。 需要注意的是當(dāng)需要注意的是當(dāng)M=-1/2,對于原碼對于原碼來說,是規(guī)格化數(shù),而對于補(bǔ)碼來說,不來說,是規(guī)格化數(shù),而對于補(bǔ)碼來說,不是規(guī)格化數(shù)。是規(guī)格化數(shù)。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示362.規(guī)格化浮點數(shù)(續(xù))規(guī)格化浮點數(shù)(續(xù)) 當(dāng)當(dāng)es=1,ms=0,尾數(shù)的最高位尾數(shù)的最高位m1=1,其余各位為其余各位為0時,該浮點數(shù)為規(guī)格化的最時,該浮點數(shù)為規(guī)格化的最小正數(shù):小正數(shù): X規(guī)格化
32、的最小正數(shù)規(guī)格化的最小正數(shù)=2-1 規(guī)格化的最小正數(shù)大于非規(guī)格化的最規(guī)格化的最小正數(shù)大于非規(guī)格化的最小正數(shù)小正數(shù)。k22第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示37浮點數(shù)的典型值浮點數(shù)的典型值 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示382.2.3 2.2.3 移碼表示法移碼表示法 移碼就是在真值移碼就是在真值X上加一個常數(shù)(偏置上加一個常數(shù)(偏置值),相當(dāng)于值),相當(dāng)于X在數(shù)軸上向正方向平移了一段在數(shù)軸上向正方向平移了一段距離,這就是距離,這就是“移碼移碼”一詞的來由。一詞的來由。 X移移=偏置值偏置值+X 對于字長對于字長8位的定點整數(shù),偏置值為位的定點整數(shù),偏置值為27。
33、 例例11:X=1011101 X移移=27+X=10000000+1011101=11011101 X補(bǔ)補(bǔ)=01011101 例例12:X=-1011101 X移移= 27 +X=10000000-1011101=00100011 X補(bǔ)補(bǔ)=10100011第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示39偏置值為偏置值為27的移碼、補(bǔ)碼和真值之間的關(guān)系的移碼、補(bǔ)碼和真值之間的關(guān)系 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示40偏置值為偏置值為2n的移碼的特點的移碼的特點 在移碼中,最高位為在移碼中,最高位為“0”表示負(fù)表示負(fù)數(shù),最高位為數(shù),最高位為“1”表示正數(shù)。表示正數(shù)。 移碼為全
34、移碼為全0時,它所對應(yīng)的真值最時,它所對應(yīng)的真值最小,為全小,為全1時,它所對應(yīng)的真值最大。時,它所對應(yīng)的真值最大。 真值真值0在移碼中的表示形式是唯一在移碼中的表示形式是唯一的,即的,即+0移移=-0移移=1000。 移碼把真值映射到一個正數(shù)域,所移碼把真值映射到一個正數(shù)域,所以可將移碼視為無符號數(shù),直接按無符號以可將移碼視為無符號數(shù),直接按無符號數(shù)規(guī)則比較大小。數(shù)規(guī)則比較大小。 同一數(shù)值的移碼和補(bǔ)碼除最高位相同一數(shù)值的移碼和補(bǔ)碼除最高位相反外,其他各位相同反外,其他各位相同。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示41浮點數(shù)的階碼采用移碼的原因浮點數(shù)的階碼采用移碼的原因 便于比較浮
35、點數(shù)的大小。階碼大的,其對便于比較浮點數(shù)的大小。階碼大的,其對應(yīng)的真值就大,階碼小的,對應(yīng)的真值就應(yīng)的真值就大,階碼小的,對應(yīng)的真值就小。小。 簡化機(jī)器中的判零電路。當(dāng)階碼全為簡化機(jī)器中的判零電路。當(dāng)階碼全為0,尾數(shù)也全為尾數(shù)也全為0時,表示機(jī)器零。時,表示機(jī)器零。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示421.定點、浮點表示法的區(qū)別定點、浮點表示法的區(qū)別數(shù)值的表示范圍數(shù)值的表示范圍 假設(shè)定點數(shù)和浮點數(shù)的字長相同,假設(shè)定點數(shù)和浮點數(shù)的字長相同,浮點表示法所能表示的數(shù)值范圍將遠(yuǎn)遠(yuǎn)大浮點表示法所能表示的數(shù)值范圍將遠(yuǎn)遠(yuǎn)大于定點數(shù)。于定點數(shù)。精度精度 對于字長相同的定點數(shù)和浮點數(shù)來說,對于字長
36、相同的定點數(shù)和浮點數(shù)來說,浮點數(shù)雖然擴(kuò)大了數(shù)的表示范圍,但這正浮點數(shù)雖然擴(kuò)大了數(shù)的表示范圍,但這正是以降低精度為代價的,也就是數(shù)軸上各是以降低精度為代價的,也就是數(shù)軸上各點的排列更稀疏了。點的排列更稀疏了。2.2.4 2.2.4 定點、浮點表示法和定點、浮點計算機(jī)定點、浮點表示法和定點、浮點計算機(jī)第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示43數(shù)的運算數(shù)的運算 浮點運算要比定點運算復(fù)雜得多。浮點運算要比定點運算復(fù)雜得多。溢出處理溢出處理 在定點運算時,當(dāng)運算結(jié)果超出數(shù)的在定點運算時,當(dāng)運算結(jié)果超出數(shù)的表示范圍,就發(fā)生溢出。而在浮點運算時,表示范圍,就發(fā)生溢出。而在浮點運算時,運算結(jié)果超出尾
37、數(shù)的表示范圍卻并不一定運算結(jié)果超出尾數(shù)的表示范圍卻并不一定溢出,只有當(dāng)階碼超出所能表示的范圍時,溢出,只有當(dāng)階碼超出所能表示的范圍時,才發(fā)生溢出。才發(fā)生溢出。1.定點、浮點表示法的區(qū)別(續(xù))定點、浮點表示法的區(qū)別(續(xù))第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示442.定點機(jī)與浮點機(jī)定點機(jī)與浮點機(jī)通??梢詫⒂嬎銠C(jī)分為幾檔:通??梢詫⒂嬎銠C(jī)分為幾檔:定點機(jī)定點機(jī) 以定點運算為主,浮點運算是通過軟以定點運算為主,浮點運算是通過軟件來實現(xiàn)的。件來實現(xiàn)的。定點機(jī)浮點運算部件定點機(jī)浮點運算部件 浮點運算部件是專門用于對浮點數(shù)進(jìn)浮點運算部件是專門用于對浮點數(shù)進(jìn)行運算的部件。行運算的部件。浮點機(jī)浮點機(jī)
38、具有浮點運算指令和基本的浮點運算具有浮點運算指令和基本的浮點運算器。器。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示45圖圖2-6 IEEE 754標(biāo)準(zhǔn)的浮點數(shù)格式標(biāo)準(zhǔn)的浮點數(shù)格式 2.2.6 2.2.6 實用浮點數(shù)舉例實用浮點數(shù)舉例類型類型 數(shù)符數(shù)符 m ms s 階碼階碼 E E 尾數(shù)尾數(shù) m m 總位數(shù)總位數(shù) 偏偏置值置值 短浮點數(shù)短浮點數(shù) 1 1 8 8 2323 3232 7FH7FH 127127 長浮點數(shù)長浮點數(shù) 1 1 1111 5252 6464 3FFH3FFH 10231023 臨時浮點數(shù)臨時浮點數(shù) 1 1 1515 6464 8080 3FFFH3FFFH 1638
39、316383 Emsm階碼部分,用移碼表示尾符尾數(shù)數(shù)值位尾數(shù)部分,用原碼表示第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示46IEEE754標(biāo)準(zhǔn)的浮點數(shù)標(biāo)準(zhǔn)的浮點數(shù) 以短浮點數(shù)為例討論浮點代碼與其真以短浮點數(shù)為例討論浮點代碼與其真值之間的關(guān)系。最高位為數(shù)符位;其后是值之間的關(guān)系。最高位為數(shù)符位;其后是8位階碼,以位階碼,以2為底,階碼的偏置值為為底,階碼的偏置值為127;其余其余23位是尾數(shù)。為了使尾數(shù)部分能表示位是尾數(shù)。為了使尾數(shù)部分能表示更多一位的有效值,更多一位的有效值,IEEE754采用采用隱含尾隱含尾數(shù)最高數(shù)位數(shù)最高數(shù)位1(即這一位(即這一位1不表示出來)的不表示出來)的方法,因此
40、尾數(shù)實際上是方法,因此尾數(shù)實際上是24位。應(yīng)注意的位。應(yīng)注意的是,是,隱含的隱含的1是一位整數(shù)(即位權(quán)為是一位整數(shù)(即位權(quán)為20),在浮點格式中表示出來的在浮點格式中表示出來的23位尾數(shù)是純小位尾數(shù)是純小數(shù),并用原碼表示。數(shù),并用原碼表示。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示47IEEE754標(biāo)準(zhǔn)的浮點數(shù)(續(xù))標(biāo)準(zhǔn)的浮點數(shù)(續(xù)) 例例13:將:將(100.25)10轉(zhuǎn)換成短浮點數(shù)格式。轉(zhuǎn)換成短浮點數(shù)格式。 十進(jìn)制數(shù)十進(jìn)制數(shù)二進(jìn)制數(shù)二進(jìn)制數(shù) (100.25)10=(1100100.01)2 非規(guī)格化數(shù)非規(guī)格化數(shù)規(guī)格化數(shù)規(guī)格化數(shù) 1100100.01=1.1001000126 計算移碼
41、表示的階碼(偏置值階碼真值)計算移碼表示的階碼(偏置值階碼真值) 1111111+110=10000101 以短浮點數(shù)格式存儲該數(shù)。以短浮點數(shù)格式存儲該數(shù)。 符號位符號位=0 階碼階碼=10000101 尾數(shù)尾數(shù)=10010001000000000000000第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示48IEEE754標(biāo)準(zhǔn)的浮點數(shù)(續(xù))標(biāo)準(zhǔn)的浮點數(shù)(續(xù)) 短浮點數(shù)代碼為短浮點數(shù)代碼為 0;100 0010 1;100 1000 1000 0000 0000 0000 表示為十六進(jìn)制的代碼:表示為十六進(jìn)制的代碼:42C88000H。例例14:把短浮點數(shù):把短浮點數(shù)C1C90000H轉(zhuǎn)換成為
42、十進(jìn)制數(shù)。轉(zhuǎn)換成為十進(jìn)制數(shù)。 十六進(jìn)制十六進(jìn)制二進(jìn)制形式,并分離出符號位、階二進(jìn)制形式,并分離出符號位、階碼和尾數(shù)。碼和尾數(shù)。 C1C90000H= 1;10000011;10010010000000000000000階碼階碼符號位符號位尾數(shù)尾數(shù)第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示49IEEE754標(biāo)準(zhǔn)的浮點數(shù)(續(xù))標(biāo)準(zhǔn)的浮點數(shù)(續(xù)) 計算出階碼真值(移碼偏置值)計算出階碼真值(移碼偏置值) 10000011-1111111=100 以規(guī)格化二進(jìn)制數(shù)形式寫出此數(shù)以規(guī)格化二進(jìn)制數(shù)形式寫出此數(shù) 1.100100124 寫成非規(guī)格化二進(jìn)制數(shù)形式寫成非規(guī)格化二進(jìn)制數(shù)形式 11001.001
43、 轉(zhuǎn)換成十進(jìn)制數(shù),并加上符號位。轉(zhuǎn)換成十進(jìn)制數(shù),并加上符號位。 (11001.001)2=(25.125)10 所以,該浮點數(shù)所以,該浮點數(shù)=-25.125第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示502.3 非數(shù)值數(shù)據(jù)的表示非數(shù)值數(shù)據(jù)的表示 非數(shù)值數(shù)據(jù),又稱為字符數(shù)據(jù),通常非數(shù)值數(shù)據(jù),又稱為字符數(shù)據(jù),通常是指字符、字符串、圖形符號和漢字等各是指字符、字符串、圖形符號和漢字等各種數(shù)據(jù),它們不用來表示數(shù)值的大小,一種數(shù)據(jù),它們不用來表示數(shù)值的大小,一般情況下不對它們進(jìn)行算術(shù)運算。般情況下不對它們進(jìn)行算術(shù)運算。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示512.3.1 2.3.1 字符和
44、字符串的表示字符和字符串的表示1.ASCII字符編碼字符編碼 常見的常見的ASCII碼用七位二進(jìn)制表示一個字符,碼用七位二進(jìn)制表示一個字符,它包括它包括10個十進(jìn)制數(shù)字(個十進(jìn)制數(shù)字(09)、)、52個英文大個英文大寫和小寫字母(寫和小寫字母(AZ,az)、)、34個專用符號個專用符號和和32個控制符號,共計個控制符號,共計128個字符。個字符。 在計算機(jī)中,通常用一個字節(jié)來存放一個在計算機(jī)中,通常用一個字節(jié)來存放一個字符。字符。 在在ASCII碼表中,數(shù)字和英文字母都是按順碼表中,數(shù)字和英文字母都是按順序排列的,只要知道其中一個的二進(jìn)制代碼,序排列的,只要知道其中一個的二進(jìn)制代碼,不要查表就
45、可以推導(dǎo)出其他數(shù)字或字母的二進(jìn)不要查表就可以推導(dǎo)出其他數(shù)字或字母的二進(jìn)制代碼。制代碼。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示52ASCII字符編碼表字符編碼表第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示532.字符串的存放字符串的存放 字符串是指一串連續(xù)的字符。例如,字符串是指一串連續(xù)的字符。例如,字符串字符串IF X0 THEN READ (C)。 向量存放法在存儲器中占用一片連續(xù)向量存放法在存儲器中占用一片連續(xù)的空間,每個字節(jié)存放一個字符代碼,字的空間,每個字節(jié)存放一個字符代碼,字符串的所有元素(字符)在物理上是鄰接符串的所有元素(字符)在物理上是鄰接的。在字長為的。在字長為
46、32位的存儲器,每一個主存位的存儲器,每一個主存單元可存放單元可存放4個字符,整個字符串需個字符,整個字符串需5個主個主存單元。在每個字節(jié)中實際存放的是相應(yīng)存單元。在每個字節(jié)中實際存放的是相應(yīng)字符的字符的ASCII碼。碼。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示54IFX0THENREA(C)D字符串的向量存放方案字符串的向量存放方案5449462020202030454541444852433E2928584E圖圖2-7 字符串的向量存放方案字符串的向量存放方案第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示551.漢字國標(biāo)碼漢字國標(biāo)碼 漢字國標(biāo)碼亦可稱為漢字交換碼,漢字國標(biāo)碼亦可稱
47、為漢字交換碼,主要用于漢字信息處理系統(tǒng)之間或者通信主要用于漢字信息處理系統(tǒng)之間或者通信系統(tǒng)之間交換信息使用,簡稱系統(tǒng)之間交換信息使用,簡稱GB碼。該碼。該標(biāo)準(zhǔn)共收集常用漢字標(biāo)準(zhǔn)共收集常用漢字6 763個,另外還有個,另外還有各種圖形符號各種圖形符號682個,共計個,共計7 445個。個。 GB碼規(guī)定每個漢字、圖形符號都用碼規(guī)定每個漢字、圖形符號都用兩個字節(jié)表示,每個字節(jié)只使用低七位編兩個字節(jié)表示,每個字節(jié)只使用低七位編碼,因此最多能表示出碼,因此最多能表示出128128=16 384個漢字。個漢字。 2.3.2 2.3.2 漢字的表示漢字的表示第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示5
48、6 區(qū)位碼將漢字編碼碼中的區(qū)位碼將漢字編碼碼中的6 763個漢個漢字分為字分為94個區(qū),每個區(qū)中包含個區(qū),每個區(qū)中包含94個漢字個漢字(位),區(qū)和位組成一個二維數(shù)組,每個(位),區(qū)和位組成一個二維數(shù)組,每個漢字在數(shù)組中對應(yīng)一個唯一的區(qū)位碼。漢漢字在數(shù)組中對應(yīng)一個唯一的區(qū)位碼。漢字的區(qū)位碼定長字的區(qū)位碼定長4位,前位,前2位表示區(qū)號,后位表示區(qū)號,后2位表示位號,區(qū)號和位號用十進(jìn)制數(shù)表位表示位號,區(qū)號和位號用十進(jìn)制數(shù)表示,區(qū)號從示,區(qū)號從01到到94,位號也從,位號也從01到到94。例。例如,如,“中中”字在字在54區(qū)的區(qū)的48位上,其區(qū)位碼位上,其區(qū)位碼為為“54-48”,“國國”字在字在25
49、區(qū)的區(qū)的90位上,位上,其區(qū)位碼為其區(qū)位碼為“25-90”。 2.漢字區(qū)位碼漢字區(qū)位碼第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示57 需要注意的是:漢字區(qū)位碼并不等于漢字需要注意的是:漢字區(qū)位碼并不等于漢字國標(biāo)碼,它們兩者之間的關(guān)系可用以下公式表國標(biāo)碼,它們兩者之間的關(guān)系可用以下公式表示:示: 國標(biāo)碼區(qū)位碼(十六進(jìn)制)國標(biāo)碼區(qū)位碼(十六進(jìn)制)2020H 例例15:已知漢字:已知漢字“春春”的區(qū)位碼為的區(qū)位碼為“20-26”,計算它的國標(biāo)碼。計算它的國標(biāo)碼。 區(qū)位碼:第區(qū)位碼:第1字節(jié)字節(jié) 第第2字節(jié)字節(jié) 20 26 十進(jìn)制十進(jìn)制 14H 1AH 十六進(jìn)制十六進(jìn)制 +20H +20H 國標(biāo)
50、碼:國標(biāo)碼: 34H 3AH2.漢字區(qū)位碼(續(xù))漢字區(qū)位碼(續(xù))第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示58 漢字在計算機(jī)內(nèi)部其內(nèi)碼是唯一的。因為漢字在計算機(jī)內(nèi)部其內(nèi)碼是唯一的。因為漢字處理系統(tǒng)要保證中西文的兼容,當(dāng)系統(tǒng)中漢字處理系統(tǒng)要保證中西文的兼容,當(dāng)系統(tǒng)中同時存在同時存在ASCII碼和漢字國標(biāo)碼時,將會產(chǎn)生碼和漢字國標(biāo)碼時,將會產(chǎn)生二義性。例如:有兩個字節(jié)的內(nèi)容為二義性。例如:有兩個字節(jié)的內(nèi)容為30H和和21H,它既可表示漢字它既可表示漢字“啊啊”的國標(biāo)碼,又可表示西的國標(biāo)碼,又可表示西文文“0”和和“!”的的ASCII碼。為此,漢字機(jī)內(nèi)碼碼。為此,漢字機(jī)內(nèi)碼應(yīng)對國標(biāo)碼加以適當(dāng)處
51、理和變換。應(yīng)對國標(biāo)碼加以適當(dāng)處理和變換。 GB碼的機(jī)內(nèi)碼為二字節(jié)長的代碼,它是在碼的機(jī)內(nèi)碼為二字節(jié)長的代碼,它是在相應(yīng)相應(yīng)GB碼的每個字節(jié)最高位上加碼的每個字節(jié)最高位上加“1”,即,即 漢字機(jī)內(nèi)碼漢字國標(biāo)碼漢字機(jī)內(nèi)碼漢字國標(biāo)碼8080H 例如,上述例如,上述“啊啊”字的國標(biāo)碼是字的國標(biāo)碼是3021H,其漢字機(jī)內(nèi)碼則是其漢字機(jī)內(nèi)碼則是B0A1H。 3.漢字機(jī)內(nèi)碼漢字機(jī)內(nèi)碼 第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示59 Unicode的基本方法是用一個的基本方法是用一個16位的位的數(shù)來表示每個符號,這種符號集可表示數(shù)來表示每個符號,這種符號集可表示65536個不同的字符或符號。被稱為基本個
52、不同的字符或符號。被稱為基本多語言平面(多語言平面(BMP)。)。這個空間已經(jīng)非這個空間已經(jīng)非常大了,但設(shè)計者考慮到將來某一天它可常大了,但設(shè)計者考慮到將來某一天它可能也會不夠用,所以采用了一種可使這種能也會不夠用,所以采用了一種可使這種表示法使用得更遠(yuǎn)的方法。表示法使用得更遠(yuǎn)的方法。2.3.3 2.3.3 統(tǒng)一代碼統(tǒng)一代碼第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示60 當(dāng)用兩字節(jié)來表示當(dāng)用兩字節(jié)來表示Unicode字符時,使字符時,使用的是用的是UCS-2編碼,但盡管如此,也允許編碼,但盡管如此,也允許在在UCS-2文本中插入一些文本中插入一些UCS-4字符。為字符。為此,在此,在BM
53、P中,保留了兩個大小為中,保留了兩個大小為1024的塊,這兩個塊中任何位置都不能用來表的塊,這兩個塊中任何位置都不能用來表示任何符號。示任何符號。UCS-4的兩個的兩個16位字每個表位字每個表示一個數(shù),這個數(shù)是示一個數(shù),這個數(shù)是UCS-2 BMP中中1024個數(shù)值中的一個。這兩個數(shù)的組合可以表個數(shù)值中的一個。這兩個數(shù)的組合可以表示多達(dá)示多達(dá)100多萬個自定義的多萬個自定義的UCS-4字符。字符。2.3.3 2.3.3 統(tǒng)一代碼(續(xù))統(tǒng)一代碼(續(xù))第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示61PC機(jī)中表示符號的機(jī)中表示符號的3種方法種方法圖圖2-8 PC機(jī)中表示符號的機(jī)中表示符號的3種方法
54、種方法00071531擴(kuò)展ASCII字符的表示方法Unicode(UCS-2)的表示方法Unicode(UCS-4)的表示方法第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示622.4 十進(jìn)制數(shù)和數(shù)串的表示十進(jìn)制數(shù)和數(shù)串的表示 十進(jìn)制是人們最常用的數(shù)據(jù)表示方法,十進(jìn)制是人們最常用的數(shù)據(jù)表示方法,一些通用性較強(qiáng)的計算機(jī)上設(shè)有十進(jìn)制數(shù)一些通用性較強(qiáng)的計算機(jī)上設(shè)有十進(jìn)制數(shù)據(jù)的表示,可以直接對十進(jìn)制數(shù)進(jìn)行運算據(jù)的表示,可以直接對十進(jìn)制數(shù)進(jìn)行運算和處理。和處理。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示632.4.1 2.4.1 十進(jìn)制數(shù)的編碼十進(jìn)制數(shù)的編碼 用四位二進(jìn)制數(shù)來表示一位十進(jìn)制數(shù),用四
55、位二進(jìn)制數(shù)來表示一位十進(jìn)制數(shù),稱為稱為二進(jìn)制編碼的十進(jìn)制數(shù),簡稱二進(jìn)制編碼的十進(jìn)制數(shù),簡稱BCD碼碼。 四位二進(jìn)制數(shù)可以組合出四位二進(jìn)制數(shù)可以組合出16種代碼,種代碼,能表示能表示16種不同的狀態(tài),我們只需要使用種不同的狀態(tài),我們只需要使用其中的其中的10種狀態(tài),就可以表示十進(jìn)制數(shù)的種狀態(tài),就可以表示十進(jìn)制數(shù)的09十個數(shù)碼,而其他的六種狀態(tài)為冗余十個數(shù)碼,而其他的六種狀態(tài)為冗余狀態(tài)。由于可以取任意的狀態(tài)。由于可以取任意的10種代碼來表示種代碼來表示十個數(shù)碼,所以就可能產(chǎn)生多種十個數(shù)碼,所以就可能產(chǎn)生多種BCD編碼。編碼。BCD編碼既具有二進(jìn)制數(shù)的形式,又保持編碼既具有二進(jìn)制數(shù)的形式,又保持了十
56、進(jìn)制數(shù)的特點。了十進(jìn)制數(shù)的特點。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示64幾種常見的幾種常見的BCD碼碼十進(jìn)制十進(jìn)制84218421 碼碼24212421 碼碼余余 3 3 碼碼0 01 12 23 34 45 56 67 78 89 900000000000100010010001000110011010001000101010101100110011101111000100010011001000000000001000100100010001100110100010010111011110011001101110111101110111111110011001101000100
57、0101010101100110011101111000100010011001101010101011101111001100第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示651.8421碼碼 8421碼又稱為碼又稱為NBCD碼,其主要特點碼,其主要特點是:是: 它是一種有權(quán)碼,四位二進(jìn)制代碼它是一種有權(quán)碼,四位二進(jìn)制代碼的位權(quán)從高到低分別為的位權(quán)從高到低分別為8、4、2、1。 簡單直觀。每個代碼與它所代表的簡單直觀。每個代碼與它所代表的十進(jìn)制數(shù)之間符合二進(jìn)制數(shù)和十進(jìn)制數(shù)相十進(jìn)制數(shù)之間符合二進(jìn)制數(shù)和十進(jìn)制數(shù)相互轉(zhuǎn)換的規(guī)則?;マD(zhuǎn)換的規(guī)則。 不允許出現(xiàn)不允許出現(xiàn)10101111。這。這6個代個
58、代碼在碼在8421碼中是非法碼。碼中是非法碼。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示662.2421碼碼 2421碼的主要特點是:碼的主要特點是: 它也是一種有權(quán)碼,四位二進(jìn)制它也是一種有權(quán)碼,四位二進(jìn)制代碼的位權(quán)從高到低分別為代碼的位權(quán)從高到低分別為2、4、2、1。 它又是一種對它又是一種對9的的自補(bǔ)碼自補(bǔ)碼。即某數(shù)。即某數(shù)的的2421碼,只要自身按位取反,就能得碼,只要自身按位取反,就能得到該數(shù)對到該數(shù)對9之補(bǔ)的之補(bǔ)的2421碼。例如:碼。例如: 3的的2421碼是碼是0011。3對對9之補(bǔ)是之補(bǔ)是6,而而6的的2421碼是碼是1100。 不允許出現(xiàn)不允許出現(xiàn)01011010。這
59、。這6個代個代碼在碼在2421碼中是非法碼。碼中是非法碼。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示673.余余3碼碼 余余3碼的主要特點是:碼的主要特點是: 這是一種無權(quán)碼,但也可看作是這是一種無權(quán)碼,但也可看作是一種特殊的有權(quán)碼,即在一種特殊的有權(quán)碼,即在8421碼的基礎(chǔ)碼的基礎(chǔ)上加上加+3(+0011)形成的,故稱余)形成的,故稱余3碼。碼。在這種編碼中各位的在這種編碼中各位的“1”不表示一個固不表示一個固定的十進(jìn)制數(shù)值,因而不直觀。定的十進(jìn)制數(shù)值,因而不直觀。 它也是一種對它也是一種對9的的自補(bǔ)碼自補(bǔ)碼。 不允許出現(xiàn)不允許出現(xiàn)00000010、11011111。這。這6個代碼在余
60、個代碼在余3碼中是非法碼。碼中是非法碼。第第2章章 數(shù)據(jù)的機(jī)器層次表示數(shù)據(jù)的機(jī)器層次表示682.4.2 2.4.2 十進(jìn)制數(shù)串十進(jìn)制數(shù)串1.非壓縮的十進(jìn)制數(shù)串非壓縮的十進(jìn)制數(shù)串 非壓縮的十進(jìn)制數(shù)串中一個字節(jié)存放一個非壓縮的十進(jìn)制數(shù)串中一個字節(jié)存放一個十進(jìn)制數(shù)或符號的十進(jìn)制數(shù)或符號的ASCII-7碼。碼。 非壓縮的十進(jìn)制數(shù)串又分成前分隔式數(shù)字非壓縮的十進(jìn)制數(shù)串又分成前分隔式數(shù)字串和后嵌入式數(shù)字串兩種格式。在前分隔式數(shù)串和后嵌入式數(shù)字串兩種格式。在前分隔式數(shù)字串中,符號位占用單獨一個字節(jié),放在數(shù)值字串中,符號位占用單獨一個字節(jié),放在數(shù)值位之前,正號對應(yīng)的位之前,正號對應(yīng)的ASCII碼為碼為2BH,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年六安客運從業(yè)資格證模擬考試題
- 2024年舟山客運從業(yè)資格模擬考試
- 2024年江西申請客運從業(yè)資格證考試
- 超市生鮮果菜陳列形態(tài)與順序
- 除氧施工組織
- 淺談反思性教學(xué)
- 軍訓(xùn)技能訓(xùn)練心得體會5篇
- 房屋拆遷承諾書(3篇)
- 幼兒園衛(wèi)生管理組織及制度
- 暑假安全教育主題班會課件(7篇)
- 裝修工程提出的合理化建議
- 模擬真實天平(flash模擬型課件)
- 藥品采購供應(yīng)制度檢查表
- 發(fā)電機(jī)組達(dá)標(biāo)投產(chǎn)自查報告
- 2021年貴州高考理綜試題含答案
- 如何做好一名責(zé)任護(hù)士ppt課件
- 通信線路畢業(yè)設(shè)計(論文):通信光纜線路維護(hù)
- 5索夫矩陣模型在觀眾拓展規(guī)劃中的運用
- 管道縮寫代號.xlsx
- 2021年科室人材培養(yǎng)和人材梯隊建設(shè)計劃.doc
- 化工原理重要公式(總結(jié)精選)
評論
0/150
提交評論