第2章 數(shù)據(jù)的機器層次表示jjl_第1頁
第2章 數(shù)據(jù)的機器層次表示jjl_第2頁
第2章 數(shù)據(jù)的機器層次表示jjl_第3頁
第2章 數(shù)據(jù)的機器層次表示jjl_第4頁
第2章 數(shù)據(jù)的機器層次表示jjl_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、計算機內(nèi)部的信息計算機內(nèi)部的信息控制信息控制信息 指令、控制字指令、控制字數(shù)據(jù)信息數(shù)據(jù)信息1.1.數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)三要素三要素2.2.非數(shù)值數(shù)據(jù)非數(shù)值數(shù)據(jù) 字符串、數(shù)字串字符串、數(shù)字串 數(shù)據(jù)是計算機加工和處理的對象,數(shù)數(shù)據(jù)是計算機加工和處理的對象,數(shù)據(jù)的機器層次表示將直接影響到計算機的據(jù)的機器層次表示將直接影響到計算機的結(jié)構(gòu)和性能。結(jié)構(gòu)和性能。 本章主要介紹無符號數(shù)和帶符號數(shù)的本章主要介紹無符號數(shù)和帶符號數(shù)的表示方法、數(shù)的定點與浮點表示方法、字表示方法、數(shù)的定點與浮點表示方法、字符和漢字的編碼方法、數(shù)據(jù)校驗碼等。符和漢字的編碼方法、數(shù)據(jù)校驗碼等。 熟悉和掌握本章的內(nèi)容,是學習計算熟悉和掌握本章

2、的內(nèi)容,是學習計算機原理的最基本要求。機原理的最基本要求。 本章學習內(nèi)容w 2.1 數(shù)值數(shù)據(jù)的表示數(shù)值數(shù)據(jù)的表示w 2.2 機器數(shù)的定點表示和浮點表示機器數(shù)的定點表示和浮點表示w 2.3 非數(shù)值數(shù)據(jù)的表示非數(shù)值數(shù)據(jù)的表示w 2.4 十進制數(shù)和數(shù)串的表示十進制數(shù)和數(shù)串的表示w 2.5 現(xiàn)代微型計算機中的數(shù)據(jù)表示舉例現(xiàn)代微型計算機中的數(shù)據(jù)表示舉例w 2.6 數(shù)據(jù)校驗碼數(shù)據(jù)校驗碼本章學習要求w 了解:了解:無符號數(shù)與帶符號數(shù),真值和機器數(shù)等無符號數(shù)與帶符號數(shù),真值和機器數(shù)等概念概念 w 掌握:原碼、補碼、反碼表示法以及三種碼制掌握:原碼、補碼、反碼表示法以及三種碼制與真值之間的轉(zhuǎn)換方法與真值之間的轉(zhuǎn)

3、換方法 w 掌握:定點數(shù)和浮點數(shù)的表示范圍掌握:定點數(shù)和浮點數(shù)的表示范圍w 理解:浮點數(shù)階碼的移碼理解:浮點數(shù)階碼的移碼w 了解了解:IEEE754浮點數(shù)標準浮點數(shù)標準w 掌握:常見的字符編碼方法(掌握:常見的字符編碼方法(ASCII碼)、漢碼)、漢字國標碼、區(qū)位碼、機內(nèi)碼字國標碼、區(qū)位碼、機內(nèi)碼w 掌握:掌握:8241碼、碼、2421碼和余碼和余3碼碼w 掌握:奇偶校驗位及其形成方法掌握:奇偶校驗位及其形成方法w 了解:海明校驗碼和循環(huán)冗余校驗碼了解:海明校驗碼和循環(huán)冗余校驗碼 2.1 數(shù)值數(shù)據(jù)的表示 在計算機中,采用數(shù)字化方式來表在計算機中,采用數(shù)字化方式來表示數(shù)據(jù),數(shù)據(jù)有無符號數(shù)和帶符號

4、數(shù)之示數(shù)據(jù),數(shù)據(jù)有無符號數(shù)和帶符號數(shù)之分,其中帶符號數(shù)根據(jù)其編碼的不同又分,其中帶符號數(shù)根據(jù)其編碼的不同又有原碼、補碼和反碼有原碼、補碼和反碼3種形式。種形式。2.1.1 計算機中的數(shù)值數(shù)據(jù)要素一:進位計數(shù)制要素一:進位計數(shù)制w 二進制數(shù):后綴二進制數(shù):后綴B(binary)w 八進制數(shù):后綴八進制數(shù):后綴Q(octal)w 十進制數(shù):后綴十進制數(shù):后綴D(decimal)或省略后綴或省略后綴w 十六進制數(shù):后綴十六進制數(shù):后綴H(hex)復習:復習:1. 二、八、十六進制相互轉(zhuǎn)換;二、八、十六進制相互轉(zhuǎn)換;2. 二、十進制相互轉(zhuǎn)換;二、十進制相互轉(zhuǎn)換;2.1.2 無符號數(shù)和帶符號數(shù) 要素二:

5、符號的表示要素二:符號的表示 (編碼系統(tǒng))(編碼系統(tǒng)) 無符號數(shù),就是整個機器字長的全部二無符號數(shù),就是整個機器字長的全部二進制位均表示數(shù)值位(沒有符號位),相進制位均表示數(shù)值位(沒有符號位),相當于數(shù)的絕對值。例如:當于數(shù)的絕對值。例如: N1=01001 表示無符號數(shù)表示無符號數(shù)9 N2=11001 表示無符號數(shù)表示無符號數(shù)25 機器字長為機器字長為n+1位的無符號數(shù)的表示位的無符號數(shù)的表示范圍是范圍是0(2n+1-1),此時二進制的最高位此時二進制的最高位也是數(shù)值位,其權(quán)值等于也是數(shù)值位,其權(quán)值等于2n。若字長為若字長為8位,則數(shù)的表示范圍為位,則數(shù)的表示范圍為0255。 2.1.2 無

6、符號數(shù)和帶符號數(shù)(續(xù)) 帶符號數(shù),即正、負數(shù)。在日常生帶符號數(shù),即正、負數(shù)。在日常生活中,我們用活中,我們用“+”、“-”號加絕對值號加絕對值來表示數(shù)值的大小,用這種形式表示的來表示數(shù)值的大小,用這種形式表示的數(shù)值在計算機技術中稱為數(shù)值在計算機技術中稱為“真值真值”。 在計算機中需要把數(shù)的符號數(shù)碼化。在計算機中需要把數(shù)的符號數(shù)碼化。通常,約定二進制數(shù)的最高位為符號位,通常,約定二進制數(shù)的最高位為符號位,“0”表示正號,表示正號,“1”表示負號。這種表示負號。這種在計算機中使用的表示數(shù)的形式稱為在計算機中使用的表示數(shù)的形式稱為機機器數(shù)器數(shù)。2.1.2 無符號數(shù)和帶符號數(shù)(續(xù)) 常見的機器數(shù)有原碼

7、、反碼、補碼常見的機器數(shù)有原碼、反碼、補碼等等3種不同的表示形式。種不同的表示形式。 帶符號數(shù)的最高位被用來表示符號帶符號數(shù)的最高位被用來表示符號位,而不再表示數(shù)值位。前例中的位,而不再表示數(shù)值位。前例中的N1、N2 在這里的含義變?yōu)椋涸谶@里的含義變?yōu)椋?N1=01001 表示表示+9。 N2=11001 根據(jù)機器數(shù)的不同形式根據(jù)機器數(shù)的不同形式表示不同的值,如是原碼則表示表示不同的值,如是原碼則表示-9,補,補碼則表示碼則表示-7,反碼則表示,反碼則表示-6。 2.1.3 原碼表示法 原碼表示法是一種最簡單的機器數(shù)原碼表示法是一種最簡單的機器數(shù)表示法,用最高位表示符號位,符號位表示法,用最高

8、位表示符號位,符號位為為“0”表示該數(shù)為正,符號位為表示該數(shù)為正,符號位為“1”表示該數(shù)為負,數(shù)值部分與真值相同。表示該數(shù)為負,數(shù)值部分與真值相同。 設二進制純小數(shù)的原碼形式為設二進制純小數(shù)的原碼形式為Xs.X1X2Xn,字長字長n+1位,其中位,其中Xs表示表示符號位。符號位。 例例1:X1=0.0110, X1原原=0.0110 X2=-0.0110, X2原原=1.01102.1.3 原碼表示法(續(xù)) 設二進制純整數(shù)的原碼形式為設二進制純整數(shù)的原碼形式為XsX1X2Xn,其中其中Xs表示符號位。表示符號位。 例例2: X1=1101, X1原原=01101 X2=-1101, X2原原=

9、11101 在原碼表示中,真值在原碼表示中,真值0有兩種不同的有兩種不同的表示形式:表示形式: +0原原=00000 -0原原=100002.1.4 補碼表示法 1.模和同余模和同余 模模是指一個計量器的容量,可用是指一個計量器的容量,可用M表示。表示。例如:一個例如:一個4位的二進制計數(shù)器,當計數(shù)器從位的二進制計數(shù)器,當計數(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。 同余同余是

10、指兩整數(shù)是指兩整數(shù)A、B除以同一正整數(shù)除以同一正整數(shù)M,所得余數(shù)相同,則稱所得余數(shù)相同,則稱A、B對對M同余,即同余,即A、B在以在以M為模時是相等的,可寫作為模時是相等的,可寫作 A=B (mod M) 時鐘正撥和倒撥 對鐘表而言,對鐘表而言,M=12。假設:時鐘停假設:時鐘停在在8點,而現(xiàn)在正確的時間是點,而現(xiàn)在正確的時間是6點,這時點,這時撥準時鐘的方法有兩種:正撥和倒撥。撥準時鐘的方法有兩種:正撥和倒撥。 分針倒著旋轉(zhuǎn)分針倒著旋轉(zhuǎn)2圈,等于分針正著旋圈,等于分針正著旋轉(zhuǎn)轉(zhuǎn)10圈。故有:圈。故有:-2=10 (mod 12) ,即即 -2和和10同余。同余。 8-2=8+10 (mod

11、12) 補碼的符號位表示方法與原碼相同,補碼的符號位表示方法與原碼相同,其數(shù)值部分的表示與數(shù)的正負有關:對于其數(shù)值部分的表示與數(shù)的正負有關:對于正數(shù),數(shù)值部分與真值形式相同;對于負正數(shù),數(shù)值部分與真值形式相同;對于負數(shù),將真值的數(shù)值部分按位取反,且在最數(shù),將真值的數(shù)值部分按位取反,且在最低位上加低位上加1。 若真值為純小數(shù),它的補碼形式為若真值為純小數(shù),它的補碼形式為Xs.X1X2Xn,其中其中Xs表示符號位。表示符號位。 例例5:X1=0.0110, X1補補=0.0110 X2=-0.0110, X2補補=1.10102.補碼表示 若真值為純整數(shù),它的補碼形式為若真值為純整數(shù),它的補碼形式

12、為XsX1X2Xn,其中其中Xs表示符號位。表示符號位。 例例6:X1=1101, X1補補=01101 X2=-1101, X2補補=10011 在補碼表示中,真值在補碼表示中,真值0的表示形式是的表示形式是唯一的:唯一的: +0補補=-0補補=000002.補碼表示(續(xù)) 當當X為正數(shù)時,為正數(shù)時,X補補=X原原=X 當當X為負數(shù)時,由為負數(shù)時,由X原原轉(zhuǎn)換為轉(zhuǎn)換為X補補的的方法:方法: X原原除掉符號位外的各位取反加除掉符號位外的各位取反加“1”。 自低位向高位,尾數(shù)的第一個自低位向高位,尾數(shù)的第一個“1”及其右部的及其右部的“0”保持不變,左部的各位保持不變,左部的各位取反,符號位保持

13、不變。取反,符號位保持不變。 例例7:X原原 =1.1110011000 X補補 =1.00011010003.由真值、原碼轉(zhuǎn)換為補碼不變不變不變不變變反變反2.1.5 反碼表示法 反碼表示法與補碼表示法有許多類反碼表示法與補碼表示法有許多類似之處,對于正數(shù),數(shù)值部分與真值形似之處,對于正數(shù),數(shù)值部分與真值形式相同;對于負數(shù),將真值的數(shù)值部分式相同;對于負數(shù),將真值的數(shù)值部分按位取反。按位取反。 若真值為純小數(shù),它的反碼形式為若真值為純小數(shù),它的反碼形式為Xs.X1X2Xn,其中其中Xs表示符號位。表示符號位。 例例9:X1=0.0110, X1反反=0.0110 X2=-0.0110, X2

14、反反=1.10012.1.5 反碼表示法(續(xù)) 若真值為純整數(shù),它的反碼形式為若真值為純整數(shù),它的反碼形式為XsX1X2Xn,其中其中Xs表示符號位。表示符號位。 例例10:X1=1101, X1反反=01101 X2=-1101, X2反反=10010 在反碼表示中,真值在反碼表示中,真值0也有兩種不同也有兩種不同的表示形式:的表示形式: +0反反=00000 -0反反=11111 1.比較比較w 對于正數(shù)它們都等于真值本身,而對于負數(shù)各對于正數(shù)它們都等于真值本身,而對于負數(shù)各有不同的表示。有不同的表示。w 最高位都表示符號位,補碼和反碼的符號位可最高位都表示符號位,補碼和反碼的符號位可作為

15、數(shù)值位的一部分看待,和數(shù)值位一起參加作為數(shù)值位的一部分看待,和數(shù)值位一起參加運算;但原碼的符號位不允許和數(shù)值位同等看運算;但原碼的符號位不允許和數(shù)值位同等看待,必須分開進行處理。待,必須分開進行處理。w 對于真值對于真值0,原碼和反碼各有兩種不同的表示,原碼和反碼各有兩種不同的表示形式,而補碼只有唯一的一種表示形式。形式,而補碼只有唯一的一種表示形式。w 原碼、反碼表示的正、負數(shù)范圍相對零來說是原碼、反碼表示的正、負數(shù)范圍相對零來說是對稱的;但補碼負數(shù)表示范圍較正數(shù)表示范圍對稱的;但補碼負數(shù)表示范圍較正數(shù)表示范圍寬,能多表示一個最負的數(shù)(絕對值最大的負寬,能多表示一個最負的數(shù)(絕對值最大的負數(shù)

16、),其值等于數(shù)),其值等于-2n(純整數(shù))或純整數(shù))或-1(純小數(shù))。(純小數(shù))。2.1.6 三種碼制的比較與轉(zhuǎn)換真值與3種機器數(shù)間的對照真值真值 X X 真值真值 X X 十進制十進制 二進制二進制 XX 原原XX 反反XX 補補 十進制十進制 二進制二進制 XX 原原 XX 反反 XX 補補 +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 001

17、10011 01000100 01010101 01100110 01110111 - - - -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 1111

18、0101 1101100 0 1 1011011 1011010 0 10100101 1001000 0 - - 00000000 1111111 1 11111010 1101101 1 1 11 10000 1011011 1 10101 10 0 1001001 1 10001000 2.轉(zhuǎn)換 如果已知機器的字長,則機器數(shù)的位數(shù)應如果已知機器的字長,則機器數(shù)的位數(shù)應補夠相應的位。例如,設機器字長為補夠相應的位。例如,設機器字長為8位,則:位,則: X1=1011 X2=-1011 X1原原=00001011 X2原原=10001011 X1補補=00001011 X2補補=111101

19、01 X1反反=00001011 X2反反=11110100 X3=0.1011 X4=-0.1011 X3原原=0.1011000 X4原原=1.1011000 X3補補=0.1011000 X4補補=1.0101000 X3反反=0.1011000 X4反反=1.01001112.2 機器數(shù)的定點表示與浮點表示 要素三:小數(shù)點的表示要素三:小數(shù)點的表示 計算機在進行算術運算時,需要指計算機在進行算術運算時,需要指出小數(shù)點的位置。根據(jù)小數(shù)點的位置是出小數(shù)點的位置。根據(jù)小數(shù)點的位置是否固定,在計算機中有兩種數(shù)據(jù)格式:否固定,在計算機中有兩種數(shù)據(jù)格式:定點表示和浮點表示。定點表示和浮點表示。2.

20、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ù)一個二進制位。定點小數(shù)表示范圍圖圖2-2 定點小數(shù)格式定點小數(shù)格式 當當Xs=0,X1Xn=1時,時,X為最大正數(shù)。為最大正數(shù)。 X最大正數(shù)最大正數(shù) =1-2-n 當

21、當Xn=1,XsXn-1=0時,時,X為最小正數(shù)。為最小正數(shù)。 X最小正數(shù)最小正數(shù) =2-nn位數(shù)值位數(shù)符小數(shù)點位置(隱含)XsX1Xn-1Xn定點小數(shù)表示范圍(續(xù)) 當當Xs=1,表示表示X為負數(shù),此時情況要為負數(shù),此時情況要稍微復雜一些,這是因為在計算機中帶符稍微復雜一些,這是因為在計算機中帶符號數(shù)可用補碼表示,也可用原碼表示。原號數(shù)可用補碼表示,也可用原碼表示。原碼和補碼的表示范圍有一些差別。碼和補碼的表示范圍有一些差別。 若機器數(shù)為原碼表示,當若機器數(shù)為原碼表示,當XsXn均等均等于于1時,時,X為絕對值最大的負數(shù)。為絕對值最大的負數(shù)。 X絕對值最大負數(shù)絕對值最大負數(shù)=-(1-2-n)

22、 若機器數(shù)為補碼表示,當若機器數(shù)為補碼表示,當Xs=1,X1Xn均等于均等于0時時,X為絕對值最大的負數(shù)。為絕對值最大的負數(shù)。 X絕對值最大負數(shù)絕對值最大負數(shù)=-1 若機器字長有若機器字長有n+1位,則有:位,則有: 原碼定點小數(shù)表示范圍:原碼定點小數(shù)表示范圍: -(1-2-n)(1-2-n) 補碼定點小數(shù)表示范圍:補碼定點小數(shù)表示范圍: -1(1-2-n) 若機器字長有若機器字長有8位,則有:位,則有: 原碼定點小數(shù)表示范圍:原碼定點小數(shù)表示范圍: - 補碼定點小數(shù)表示范圍:補碼定點小數(shù)表示范圍: -1定點小數(shù)表示范圍(續(xù))1281271281271281272.定點整數(shù) 定點整數(shù)即純整數(shù),

23、定點整數(shù)即純整數(shù),小數(shù)點位置隱小數(shù)點位置隱含固定在最低有效數(shù)位之后含固定在最低有效數(shù)位之后,記作,記作XsX1X2Xn。圖圖2-3 定點整數(shù)格式定點整數(shù)格式XsX1Xn-1n位數(shù)值位數(shù)符小數(shù)點位置(隱含)Xn若機器字長有若機器字長有n+1位,則有:位,則有:原碼定點整數(shù)的表示范圍:原碼定點整數(shù)的表示范圍: -(2n-1)(2n-1)補碼定點整數(shù)的表示范圍:補碼定點整數(shù)的表示范圍: -2n (2n-1)若機器字長有若機器字長有8位,則有:位,則有:原碼定點整數(shù)表示范圍:原碼定點整數(shù)表示范圍: -127127補碼定點整數(shù)表示范圍:補碼定點整數(shù)表示范圍: -128127定點整數(shù)表示范圍定點數(shù)的表示范

24、圍x反 10-0 11-10 11-1 00-0 x補 10-0 10-01 11-11 00-0 x原 11-1 10-01 10-0 00-0 00-01 01-1 定點小數(shù) -1 -(1-2-n) -2-n 0 2-n (1-2-n) 1 定點整數(shù) -2n -(2n-1) -1 0 1 (2n-1) 2n 比例因子比例因子 小數(shù)點的位置根據(jù)需要而浮動,即浮點數(shù)小數(shù)點的位置根據(jù)需要而浮動,即浮點數(shù)。例如:例如: N=MrE 式中:式中:r為浮點數(shù)階碼的底,與尾數(shù)為浮點數(shù)階碼的底,與尾數(shù)的基數(shù)相同,通常的基數(shù)相同,通常r=2。E和和M都是帶符號都是帶符號數(shù),數(shù),E叫做階碼,叫做階碼,M叫做尾

25、數(shù)。在大多數(shù)叫做尾數(shù)。在大多數(shù)計算機中,尾數(shù)為純小數(shù),常用原碼或補計算機中,尾數(shù)為純小數(shù),常用原碼或補碼表示;階碼為純整數(shù),常用移碼或補碼碼表示;階碼為純整數(shù),常用移碼或補碼表示。表示。2.2.2 浮點表示法 圖圖2-5 浮點數(shù)的一般格式浮點數(shù)的一般格式 浮點數(shù)的底是隱含的,在整個機器浮點數(shù)的底是隱含的,在整個機器數(shù)中不出現(xiàn)。階碼的符號位為數(shù)中不出現(xiàn)。階碼的符號位為es,階碼的階碼的大小反映了在數(shù)大小反映了在數(shù)N中小數(shù)點的實際位置;中小數(shù)點的實際位置;尾數(shù)的符號位為尾數(shù)的符號位為ms,它是整個浮點數(shù)的符它是整個浮點數(shù)的符號位,表示了該浮點數(shù)的正負。號位,表示了該浮點數(shù)的正負。浮點數(shù)的一般格式尾

26、數(shù)部分M階碼部分Eesemsmk位n位1位1位1.浮點數(shù)的表示范圍 當當es=0,ms=0,階碼和尾數(shù)的數(shù)值階碼和尾數(shù)的數(shù)值位各位全為位各位全為1(即階碼和尾數(shù)都為最大正(即階碼和尾數(shù)都為最大正數(shù))時,該浮點數(shù)為最大正數(shù):數(shù))時,該浮點數(shù)為最大正數(shù): X最大正數(shù)最大正數(shù)=(1-2-n) 當當es=1,ms=0,尾數(shù)的最低位尾數(shù)的最低位mn=1,其余各位為其余各位為0(即階碼為絕對值最大的負(即階碼為絕對值最大的負數(shù),尾數(shù)為最小正數(shù))時,該浮點數(shù)為數(shù),尾數(shù)為最小正數(shù))時,該浮點數(shù)為最小正數(shù):最小正數(shù): X最小正數(shù)最小正數(shù)=2-n 122kk221.浮點數(shù)的表示范圍(續(xù)) 當當es=0,階碼的數(shù)值

27、位為全階碼的數(shù)值位為全1;ms=1,尾數(shù)的數(shù)值位為全尾數(shù)的數(shù)值位為全0(即階碼為最大正數(shù),(即階碼為最大正數(shù),尾數(shù)為絕對值最大的負數(shù))時,該浮點尾數(shù)為絕對值最大的負數(shù))時,該浮點數(shù)為絕對值最大負數(shù):數(shù)為絕對值最大負數(shù): X絕對值最大負數(shù)絕對值最大負數(shù)= -1 122 k 為了提高運算的精度,需要充分地為了提高運算的精度,需要充分地利用尾數(shù)的有效數(shù)位,通常采取浮點數(shù)規(guī)利用尾數(shù)的有效數(shù)位,通常采取浮點數(shù)規(guī)格化形式,即規(guī)定格化形式,即規(guī)定尾數(shù)的最高數(shù)位必須是尾數(shù)的最高數(shù)位必須是一個有效值一個有效值。 1/2 |M| 12.規(guī)格化浮點數(shù)2.規(guī)格化浮點數(shù)(續(xù)) 在尾數(shù)用補碼表示時,規(guī)格化浮點數(shù)在尾數(shù)用補

28、碼表示時,規(guī)格化浮點數(shù)應滿足應滿足尾數(shù)最高數(shù)位與符號位不同尾數(shù)最高數(shù)位與符號位不同(ms m1 =1),),即當即當1/2M1時,應有時,應有0.1xxx形式,當形式,當-1M-1/2時,應有時,應有1.0 xxx形式。形式。 需要注意的是當需要注意的是當M=-1/2,對于原碼對于原碼來說,是規(guī)格化數(shù),而對于補碼來說,不來說,是規(guī)格化數(shù),而對于補碼來說,不是規(guī)格化數(shù)。是規(guī)格化數(shù)。2.規(guī)格化浮點數(shù)(續(xù)) 當當es=1,ms=0,尾數(shù)的最高位尾數(shù)的最高位m1=1,其余各位為其余各位為0時,該浮點數(shù)為規(guī)格化的最時,該浮點數(shù)為規(guī)格化的最小正數(shù):小正數(shù): X規(guī)格化的最小正數(shù)規(guī)格化的最小正數(shù)=2-1 規(guī)格

29、化的最小正數(shù)大于非規(guī)格化的最規(guī)格化的最小正數(shù)大于非規(guī)格化的最小正數(shù)小正數(shù)。k22浮點數(shù)的典型值(設階碼和尾數(shù)均用補碼表示) 2.2.3 移碼表示法 移碼就是在真值移碼就是在真值X上加一個常數(shù)(偏置上加一個常數(shù)(偏置值),相當于值),相當于X在數(shù)軸上向正方向平移了一段在數(shù)軸上向正方向平移了一段距離,這就是距離,這就是“移碼移碼”一詞的來由。一詞的來由。 X移移=偏置值偏置值+X 對于字長對于字長8位的定點整數(shù),偏置值為位的定點整數(shù),偏置值為27。 例例11:X=1011101 X移移=27+X=10000000+1011101=11011101 X補補=01011101 例例12:X=-1011

30、101 X移移= 27 +X=10000000-1011101=00100011 X補補=10100011偏置值為27的移碼、補碼和真值之間的關系 偏置值為2n的移碼的特點 在移碼中,最高位為在移碼中,最高位為“0”表示負表示負數(shù),最高位為數(shù),最高位為“1”表示正數(shù)。表示正數(shù)。 移碼為全移碼為全0時,它所對應的真值最時,它所對應的真值最小,為全小,為全1時,它所對應的真值最大。時,它所對應的真值最大。 真值真值0在移碼中的表示形式是唯一在移碼中的表示形式是唯一的,即的,即+0移移=-0移移=1000。 移碼把真值映射到一個正數(shù)域,所移碼把真值映射到一個正數(shù)域,所以可將移碼視為無符號數(shù),直接按無

31、符號以可將移碼視為無符號數(shù),直接按無符號數(shù)規(guī)則比較大小。數(shù)規(guī)則比較大小。 同一數(shù)值的移碼和補碼除最高位相同一數(shù)值的移碼和補碼除最高位相反外,其他各位相同反外,其他各位相同。x補補=2n+x移移浮點數(shù)的階碼采用移碼的原因w 便于比較浮點數(shù)的大小。階碼大的,其對便于比較浮點數(shù)的大小。階碼大的,其對應的真值就大,階碼小的,對應的真值就應的真值就大,階碼小的,對應的真值就小。小。w 簡化機器中的判零電路。當階碼全為簡化機器中的判零電路。當階碼全為0,尾數(shù)也全為尾數(shù)也全為0時,表示機器零。時,表示機器零。1.定點、浮點表示法的區(qū)別定點、浮點表示法的區(qū)別數(shù)值的表示范圍數(shù)值的表示范圍 假設定點數(shù)和浮點數(shù)的字

32、長相同,假設定點數(shù)和浮點數(shù)的字長相同,浮點表示法所能表示的數(shù)值范圍將遠遠大浮點表示法所能表示的數(shù)值范圍將遠遠大于定點數(shù)。于定點數(shù)。精度精度 對于字長相同的定點數(shù)和浮點數(shù)來說,對于字長相同的定點數(shù)和浮點數(shù)來說,浮點數(shù)雖然擴大了數(shù)的表示范圍,但這正浮點數(shù)雖然擴大了數(shù)的表示范圍,但這正是以降低精度為代價的,也就是數(shù)軸上各是以降低精度為代價的,也就是數(shù)軸上各點的排列更稀疏了。點的排列更稀疏了。2.2.4 定點、浮點表示法和定點、浮點計算機數(shù)的運算數(shù)的運算 浮點運算要比定點運算復雜得多。浮點運算要比定點運算復雜得多。溢出處理溢出處理 在定點運算時,當運算結(jié)果超出數(shù)的在定點運算時,當運算結(jié)果超出數(shù)的表示范

33、圍,就發(fā)生溢出。而在浮點運算時,表示范圍,就發(fā)生溢出。而在浮點運算時,運算結(jié)果超出尾數(shù)的表示范圍卻并不一定運算結(jié)果超出尾數(shù)的表示范圍卻并不一定溢出,只有當階碼超出所能表示的范圍時,溢出,只有當階碼超出所能表示的范圍時,才發(fā)生溢出。才發(fā)生溢出。1.定點、浮點表示法的區(qū)別(續(xù))2.定點機與浮點機通??梢詫⒂嬎銠C分為幾檔:通常可以將計算機分為幾檔:定點機定點機 以定點運算為主,浮點運算是通過軟以定點運算為主,浮點運算是通過軟件來實現(xiàn)的。件來實現(xiàn)的。定點機浮點運算部件定點機浮點運算部件 浮點運算部件是專門用于對浮點數(shù)進浮點運算部件是專門用于對浮點數(shù)進行運算的部件。行運算的部件。浮點機浮點機 具有浮點運

34、算指令和基本的浮點運算具有浮點運算指令和基本的浮點運算器。器。圖圖2-6 IEEE 754標準的浮點數(shù)格式標準的浮點數(shù)格式 2.2.6 實用浮點數(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 1638316383 Emsm階碼部分,用移碼表示尾符尾數(shù)數(shù)值位尾數(shù)部分,用原碼表示IEEE75

35、4標準的浮點數(shù) 以短浮點數(shù)為例討論浮點代碼與其真以短浮點數(shù)為例討論浮點代碼與其真值之間的關系。最高位為數(shù)符位;其后是值之間的關系。最高位為數(shù)符位;其后是8位階碼,以位階碼,以2為底,階碼的偏置值為為底,階碼的偏置值為127;其余其余23位是尾數(shù)。為了使尾數(shù)部分能表示位是尾數(shù)。為了使尾數(shù)部分能表示更多一位的有效值,更多一位的有效值,IEEE754采用采用隱含尾隱含尾數(shù)最高數(shù)位數(shù)最高數(shù)位1(即這一位(即這一位1不表示出來)的不表示出來)的方法,因此尾數(shù)實際上是方法,因此尾數(shù)實際上是24位。應注意的位。應注意的是,是,隱含的隱含的1是一位整數(shù)(即位權(quán)為是一位整數(shù)(即位權(quán)為20),在浮點格式中表示出來

36、的在浮點格式中表示出來的23位尾數(shù)是純小位尾數(shù)是純小數(shù),并用原碼表示。數(shù),并用原碼表示。IEEE754標準的浮點數(shù)(續(xù)) 例例13:將:將(100.25)10轉(zhuǎn)換成短浮點數(shù)格式。轉(zhuǎn)換成短浮點數(shù)格式。 十進制數(shù)十進制數(shù)二進制數(shù)二進制數(shù) (100.25)10=(1100100.01)2 非規(guī)格化數(shù)非規(guī)格化數(shù)規(guī)格化數(shù)規(guī)格化數(shù) 1100100.01=1.1001000126 計算移碼表示的階碼(偏置值階碼真值)計算移碼表示的階碼(偏置值階碼真值) 1111111+110=10000101 以短浮點數(shù)格式存儲該數(shù)。以短浮點數(shù)格式存儲該數(shù)。 符號位符號位=0 階碼階碼=10000101 尾數(shù)尾數(shù)=1001

37、0001000000000000000IEEE754標準的浮點數(shù)(續(xù)) 短浮點數(shù)代碼為短浮點數(shù)代碼為 0;100 0010 1;100 1000 1000 0000 0000 0000 表示為十六進制的代碼:表示為十六進制的代碼:42C88000H。例例14:把短浮點數(shù):把短浮點數(shù)C1C90000H轉(zhuǎn)換成為十進制數(shù)。轉(zhuǎn)換成為十進制數(shù)。 十六進制十六進制二進制形式,并分離出符號位、階二進制形式,并分離出符號位、階碼和尾數(shù)。碼和尾數(shù)。 C1C90000H= 1;10000011;10010010000000000000000階碼階碼符號位符號位尾數(shù)尾數(shù)IEEE754標準的浮點數(shù)(續(xù)) 計算出階碼真

38、值(移碼偏置值)計算出階碼真值(移碼偏置值) 10000011-1111111=100 以規(guī)格化二進制數(shù)形式寫出此數(shù)以規(guī)格化二進制數(shù)形式寫出此數(shù) 1.100100124 寫成非規(guī)格化二進制數(shù)形式寫成非規(guī)格化二進制數(shù)形式 11001.001 轉(zhuǎn)換成十進制數(shù),并加上符號位。轉(zhuǎn)換成十進制數(shù),并加上符號位。 (11001.001)2=(25.125)10 所以,該浮點數(shù)所以,該浮點數(shù)=-25.1252.3 非數(shù)值數(shù)據(jù)的表示 非數(shù)值數(shù)據(jù),又稱為字符數(shù)據(jù),通常非數(shù)值數(shù)據(jù),又稱為字符數(shù)據(jù),通常是指字符、字符串、圖形符號和漢字等各是指字符、字符串、圖形符號和漢字等各種數(shù)據(jù),它們不用來表示數(shù)值的大小,一種數(shù)據(jù),

39、它們不用來表示數(shù)值的大小,一般情況下不對它們進行算術運算。般情況下不對它們進行算術運算。2.3.1 字符和字符串的表示1.ASCII字符編碼字符編碼 常見的常見的ASCII碼用七位二進制表示一個字符,碼用七位二進制表示一個字符,它包括它包括10個十進制數(shù)字(個十進制數(shù)字(09)、)、52個英文大個英文大寫和小寫字母(寫和小寫字母(AZ,az)、)、34個專用符號個專用符號和和32個控制符號,共計個控制符號,共計128個字符。個字符。 在計算機中,通常用一個字節(jié)來存放一個在計算機中,通常用一個字節(jié)來存放一個字符。字符。 在在ASCII碼表中,數(shù)字和英文字母都是按順碼表中,數(shù)字和英文字母都是按順序

40、排列的,只要知道其中一個的二進制代碼,序排列的,只要知道其中一個的二進制代碼,不要查表就可以推導出其他數(shù)字或字母的二進不要查表就可以推導出其他數(shù)字或字母的二進制代碼。制代碼。ASCII字符編碼表2.字符串的存放 字符串是指一串連續(xù)的字符。例如,字符串是指一串連續(xù)的字符。例如,字符串字符串IF X0 THEN READ (C)。 向量存放法在存儲器中占用一片連續(xù)向量存放法在存儲器中占用一片連續(xù)的空間,每個字節(jié)存放一個字符代碼,字的空間,每個字節(jié)存放一個字符代碼,字符串的所有元素(字符)在物理上是鄰接符串的所有元素(字符)在物理上是鄰接的。在字長為的。在字長為32位的存儲器,每一個主存位的存儲器,

41、每一個主存單元可存放單元可存放4個字符,整個字符串需個字符,整個字符串需5個主個主存單元。在每個字節(jié)中實際存放的是相應存單元。在每個字節(jié)中實際存放的是相應字符的字符的ASCII碼。碼。IFX0THENREA(C)D字符串的向量存放方案5449462020202030454541444852433E2928584E圖圖2-7 字符串的向量存放方案字符串的向量存放方案1.漢字國標碼漢字國標碼 漢字國標碼亦可稱為漢字交換碼,漢字國標碼亦可稱為漢字交換碼,主要用于漢字信息處理系統(tǒng)之間或者通信主要用于漢字信息處理系統(tǒng)之間或者通信系統(tǒng)之間交換信息使用,簡稱系統(tǒng)之間交換信息使用,簡稱GB碼。該碼。該標準共收

42、集常用漢字標準共收集常用漢字6 763個,另外還有個,另外還有各種圖形符號各種圖形符號682個,共計個,共計7 445個。個。 GB碼規(guī)定每個漢字、圖形符號都用碼規(guī)定每個漢字、圖形符號都用兩個字節(jié)表示,每個字節(jié)只使用低七位編兩個字節(jié)表示,每個字節(jié)只使用低七位編碼,因此最多能表示出碼,因此最多能表示出128128=16 384個漢字。個漢字。 2.3.2 漢字的表示 區(qū)位碼將漢字編碼碼中的區(qū)位碼將漢字編碼碼中的6 763個漢個漢字分為字分為94個區(qū),每個區(qū)中包含個區(qū),每個區(qū)中包含94個漢字個漢字(位),區(qū)和位組成一個二維數(shù)組,每個(位),區(qū)和位組成一個二維數(shù)組,每個漢字在數(shù)組中對應一個唯一的區(qū)位

43、碼。漢漢字在數(shù)組中對應一個唯一的區(qū)位碼。漢字的區(qū)位碼定長字的區(qū)位碼定長4位,前位,前2位表示區(qū)號,后位表示區(qū)號,后2位表示位號,區(qū)號和位號用十進制數(shù)表位表示位號,區(qū)號和位號用十進制數(shù)表示,區(qū)號從示,區(qū)號從01到到94,位號也從,位號也從01到到94。例。例如,如,“中中”字在字在54區(qū)的區(qū)的48位上,其區(qū)位碼位上,其區(qū)位碼為為“54-48”,“國國”字在字在25區(qū)的區(qū)的90位上,位上,其區(qū)位碼為其區(qū)位碼為“25-90”。 2.漢字區(qū)位碼 需要注意的是:漢字區(qū)位碼并不等于漢字需要注意的是:漢字區(qū)位碼并不等于漢字國標碼,它們兩者之間的關系可用以下公式表國標碼,它們兩者之間的關系可用以下公式表示:示

44、: 國標碼區(qū)位碼(十六進制)國標碼區(qū)位碼(十六進制)2020H 例例15:已知漢字:已知漢字“春春”的區(qū)位碼為的區(qū)位碼為“20-26”,計算它的國標碼。計算它的國標碼。 區(qū)位碼:第區(qū)位碼:第1字節(jié)字節(jié) 第第2字節(jié)字節(jié) 20 26 十進制十進制 14H 1AH 十六進制十六進制 +20H +20H 國標碼:國標碼: 34H 3AH2.漢字區(qū)位碼(續(xù)) 漢字在計算機內(nèi)部其內(nèi)碼是唯一的。因為漢字在計算機內(nèi)部其內(nèi)碼是唯一的。因為漢字處理系統(tǒng)要保證中西文的兼容,當系統(tǒng)中漢字處理系統(tǒng)要保證中西文的兼容,當系統(tǒng)中同時存在同時存在ASCII碼和漢字國標碼時,將會產(chǎn)生碼和漢字國標碼時,將會產(chǎn)生二義性。例如:有兩

45、個字節(jié)的內(nèi)容為二義性。例如:有兩個字節(jié)的內(nèi)容為30H和和21H,它既可表示漢字它既可表示漢字“啊啊”的國標碼,又可表示西的國標碼,又可表示西文文“0”和和“!”的的ASCII碼。為此,漢字機內(nèi)碼碼。為此,漢字機內(nèi)碼應對國標碼加以適當處理和變換。應對國標碼加以適當處理和變換。 GB碼的機內(nèi)碼為二字節(jié)長的代碼,它是在碼的機內(nèi)碼為二字節(jié)長的代碼,它是在相應相應GB碼的每個字節(jié)最高位上加碼的每個字節(jié)最高位上加“1”,即,即 漢字機內(nèi)碼漢字國標碼漢字機內(nèi)碼漢字國標碼8080H 例如,上述例如,上述“啊啊”字的國標碼是字的國標碼是3021H,其漢字機內(nèi)碼則是其漢字機內(nèi)碼則是B0A1H。 3.漢字機內(nèi)碼 2

46、.4 十進制數(shù)和數(shù)串的表示 十進制是人們最常用的數(shù)據(jù)表示方法,十進制是人們最常用的數(shù)據(jù)表示方法,一些通用性較強的計算機上設有十進制數(shù)一些通用性較強的計算機上設有十進制數(shù)據(jù)的表示,可以直接對十進制數(shù)進行運算據(jù)的表示,可以直接對十進制數(shù)進行運算和處理。和處理。2.4.1 十進制數(shù)的編碼 用四位二進制數(shù)來表示一位十進制數(shù),用四位二進制數(shù)來表示一位十進制數(shù),稱為稱為二進制編碼的十進制數(shù),簡稱二進制編碼的十進制數(shù),簡稱BCD碼碼。 四位二進制數(shù)可以組合出四位二進制數(shù)可以組合出16種代碼,種代碼,能表示能表示16種不同的狀態(tài),我們只需要使用種不同的狀態(tài),我們只需要使用其中的其中的10種狀態(tài),就可以表示十進

47、制數(shù)的種狀態(tài),就可以表示十進制數(shù)的09十個數(shù)碼,而其他的六種狀態(tài)為冗余十個數(shù)碼,而其他的六種狀態(tài)為冗余狀態(tài)。由于可以取任意的狀態(tài)。由于可以取任意的10種代碼來表示種代碼來表示十個數(shù)碼,所以就可能產(chǎn)生多種十個數(shù)碼,所以就可能產(chǎn)生多種BCD編碼。編碼。BCD編碼既具有二進制數(shù)的形式,又保持編碼既具有二進制數(shù)的形式,又保持了十進制數(shù)的特點。了十進制數(shù)的特點。幾種常見的BCD碼十進制十進制84218421 碼碼24212421 碼碼余余 3 3 碼碼0 01 12 23 34 45 56 67 78 89 900000000000100010010001000110011010001000101010

48、10110011001110111100010001001100100000000000100010010001000110011010001001011101111001100110111011110111011111111001100110100010001010101011001100111011110001000100110011010101010111011110011001.8421碼 8421碼又稱為碼又稱為NBCD碼,其主要特點碼,其主要特點是:是: 它是一種有權(quán)碼,四位二進制代碼它是一種有權(quán)碼,四位二進制代碼的位權(quán)從高到低分別為的位權(quán)從高到低分別為8、4、2、1。 簡單直觀。

49、每個代碼與它所代表的簡單直觀。每個代碼與它所代表的十進制數(shù)之間符合二進制數(shù)和十進制數(shù)相十進制數(shù)之間符合二進制數(shù)和十進制數(shù)相互轉(zhuǎn)換的規(guī)則。互轉(zhuǎn)換的規(guī)則。 不允許出現(xiàn)不允許出現(xiàn)10101111。這。這6個代個代碼在碼在8421碼中是非法碼。碼中是非法碼。2.2421碼 2421碼的主要特點是:碼的主要特點是: 它也是一種有權(quán)碼,四位二進制它也是一種有權(quán)碼,四位二進制代碼的位權(quán)從高到低分別為代碼的位權(quán)從高到低分別為2、4、2、1。 它又是一種對它又是一種對9的的自補碼自補碼。即某數(shù)。即某數(shù)的的2421碼,只要自身按位取反,就能得碼,只要自身按位取反,就能得到該數(shù)對到該數(shù)對9之補的之補的2421碼。例

50、如:碼。例如: 3的的2421碼是碼是0011。3對對9之補是之補是6,而而6的的2421碼是碼是1100。 不允許出現(xiàn)不允許出現(xiàn)01011010。這。這6個代個代碼在碼在2421碼中是非法碼。碼中是非法碼。3.余3碼 余余3碼的主要特點是:碼的主要特點是: 這是一種無權(quán)碼,但也可看作是這是一種無權(quán)碼,但也可看作是一種特殊的有權(quán)碼,即在一種特殊的有權(quán)碼,即在8421碼的基礎碼的基礎上加上加+3(+0011)形成的,故稱余)形成的,故稱余3碼。碼。在這種編碼中各位的在這種編碼中各位的“1”不表示一個固不表示一個固定的十進制數(shù)值,因而不直觀。定的十進制數(shù)值,因而不直觀。 它也是一種對它也是一種對9

51、的的自補碼自補碼。 不允許出現(xiàn)不允許出現(xiàn)00000010、11011111。這。這6個代碼在余個代碼在余3碼中是非法碼。碼中是非法碼。2.4.2 十進制數(shù)串1.非壓縮的十進制數(shù)串非壓縮的十進制數(shù)串 非壓縮的十進制數(shù)串中一個字節(jié)存放一個非壓縮的十進制數(shù)串中一個字節(jié)存放一個十進制數(shù)或符號的十進制數(shù)或符號的ASCII-7碼。碼。 非壓縮的十進制數(shù)串又分成前分隔式數(shù)字非壓縮的十進制數(shù)串又分成前分隔式數(shù)字串和后嵌入式數(shù)字串兩種格式。在前分隔式數(shù)串和后嵌入式數(shù)字串兩種格式。在前分隔式數(shù)字串中,符號位占用單獨一個字節(jié),放在數(shù)值字串中,符號位占用單獨一個字節(jié),放在數(shù)值位之前,正號對應的位之前,正號對應的ASC

52、II碼為碼為2BH,負號對應負號對應的的ASCII碼為碼為2DH。在后嵌入式數(shù)字串中,符號在后嵌入式數(shù)字串中,符號位不單獨占用一個字節(jié),而是嵌入到最低一位位不單獨占用一個字節(jié),而是嵌入到最低一位數(shù)字里邊去。若數(shù)串為正,則最低一位數(shù)字數(shù)字里邊去。若數(shù)串為正,則最低一位數(shù)字09的的ASCII碼不變(碼不變(30H39H););若數(shù)串為負,若數(shù)串為負,把負號變?yōu)榘沿撎栕優(yōu)?0H,并將其與最低數(shù)值位相加,此并將其與最低數(shù)值位相加,此時數(shù)字時數(shù)字09的的ASCII碼變?yōu)榇a變?yōu)?0H79H。 2.壓縮的十進制數(shù)串 壓縮的十進制數(shù)串,一個字節(jié)可存放壓縮的十進制數(shù)串,一個字節(jié)可存放兩位兩位BCD碼表示的十進制

53、數(shù),既節(jié)省了存碼表示的十進制數(shù),既節(jié)省了存儲空間,又便于直接進行十進制算術運算。儲空間,又便于直接進行十進制算術運算。 在主存中,一個壓縮的十進制數(shù)串占在主存中,一個壓縮的十進制數(shù)串占用連續(xù)的多個字節(jié),每位數(shù)字僅占半個字用連續(xù)的多個字節(jié),每位數(shù)字僅占半個字節(jié),其值常用節(jié),其值常用8421碼表示。符號位也占半碼表示。符號位也占半個字節(jié),并存放在最低數(shù)值位之后,通常個字節(jié),并存放在最低數(shù)值位之后,通常用用CH表示正號,表示正號,DH表示負號。在這種表表示負號。在這種表示中,規(guī)定數(shù)字的個數(shù)加符號位之和必須示中,規(guī)定數(shù)字的個數(shù)加符號位之和必須為偶數(shù);當和為奇數(shù)時,應在最高數(shù)值位為偶數(shù);當和為奇數(shù)時,應

54、在最高數(shù)值位之前補之前補0H(即第一個字節(jié)的高半字節(jié)為即第一個字節(jié)的高半字節(jié)為“0000”)。)。 壓縮的十進制數(shù)串(續(xù))+123表示為:表示為:0001,0010,0011,1100而而-2648表示為:表示為:0000,0010,0110,0100,1000,11012.5 現(xiàn)代微機系統(tǒng)中的數(shù)據(jù)表示舉例 現(xiàn)代的微機系統(tǒng)大多采用現(xiàn)代的微機系統(tǒng)大多采用Intel系列的系列的微處理器,微處理器,近年來近年來,Intel的微處理器有了的微處理器有了極大的發(fā)展,形成了極大的發(fā)展,形成了IA-32結(jié)構(gòu)。結(jié)構(gòu)。 IA-32結(jié)構(gòu)的基本數(shù)據(jù)類型是字節(jié)、字、結(jié)構(gòu)的基本數(shù)據(jù)類型是字節(jié)、字、雙字雙字、四字和雙四字

55、。四字和雙四字。 070000字節(jié)字雙字四字雙四字低四字高四字低雙字高雙字低字高字低字節(jié)高字節(jié)15316312763643132151678NNNNNN+1N+2N+4N+8IA-32結(jié)構(gòu)的基本數(shù)據(jù)類型圖圖2-9 IA-32結(jié)構(gòu)的基本數(shù)據(jù)類型結(jié)構(gòu)的基本數(shù)據(jù)類型1.無符號整數(shù) 無符號整數(shù)是包含字節(jié)、字、雙字無符號整數(shù)是包含字節(jié)、字、雙字和四字的無符號的二進制數(shù)。無符號整和四字的無符號的二進制數(shù)。無符號整數(shù)的范圍,對于字節(jié),從數(shù)的范圍,對于字節(jié),從0255;對于;對于字,從字,從065535;對于雙字,從;對于雙字,從0232 -1;對于四字,從對于四字,從0264-1。 2.帶符號整數(shù)帶符號整數(shù)

56、 帶符號整數(shù)是包含字節(jié)、字、雙字帶符號整數(shù)是包含字節(jié)、字、雙字和四字的帶符號的二進制定點整數(shù)。正和四字的帶符號的二進制定點整數(shù)。正數(shù)的符號位為數(shù)的符號位為0,負數(shù)的符號位為,負數(shù)的符號位為1。對。對于字節(jié),從于字節(jié),從-128+127;對于字,從;對于字,從 -32768+32767;對于雙字,從;對于雙字,從-231+231-1;對于四字,從;對于四字,從-263+263-1。3.浮點數(shù) 與與IEEE 754標準所規(guī)定的格式直接對標準所規(guī)定的格式直接對應。應。4.指針數(shù)據(jù)指針數(shù)據(jù) 指針是主存單元的地址,指針是主存單元的地址,IA-32 結(jié)構(gòu)結(jié)構(gòu)定義了兩種類型的指針:近指針(定義了兩種類型的指

57、針:近指針(32位)位)和遠指針(和遠指針(48位)。位)。5.串數(shù)據(jù)串數(shù)據(jù) 包括位串、字節(jié)串、字串和雙字串。包括位串、字節(jié)串、字串和雙字串。一個串可以包含從一個字節(jié)到一個串可以包含從一個字節(jié)到4GB的內(nèi)容。的內(nèi)容。 6.BCD數(shù) IA-32 結(jié)構(gòu)結(jié)構(gòu)中所指的中所指的BCD碼實際上碼實際上是指是指8421碼。碼。BCD數(shù)又分成未拼裝的數(shù)又分成未拼裝的BCD(UBCD)數(shù)和拼裝的數(shù)和拼裝的BCD數(shù)兩種。數(shù)兩種。UBCD數(shù)的一個字節(jié)僅包含一位十進制數(shù)的一個字節(jié)僅包含一位十進制數(shù),在數(shù),在30位上;而經(jīng)過拼裝的位上;而經(jīng)過拼裝的BCD數(shù),數(shù),一個字節(jié)包含兩位十進制數(shù),其低位在一個字節(jié)包含兩位十進制數(shù)

58、,其低位在30位上,高位在位上,高位在74位上。位上。 2.6 數(shù)據(jù)校驗碼 數(shù)據(jù)校驗碼是指那些能夠發(fā)現(xiàn)錯誤或數(shù)據(jù)校驗碼是指那些能夠發(fā)現(xiàn)錯誤或能夠自動糾正錯誤的數(shù)據(jù)編碼,又稱之為能夠自動糾正錯誤的數(shù)據(jù)編碼,又稱之為“檢錯糾錯編碼檢錯糾錯編碼”?!叭哂嘈r炄哂嘈r灐彼枷胨枷氪a距碼距:任何一種編碼都由許多碼字構(gòu)成,任意:任何一種編碼都由許多碼字構(gòu)成,任意兩個碼字之間最少變化的二進制位數(shù),被稱兩個碼字之間最少變化的二進制位數(shù),被稱為數(shù)據(jù)校驗碼的碼距。為數(shù)據(jù)校驗碼的碼距。 例如,用四位二進制表示例如,用四位二進制表示16種狀態(tài),則有種狀態(tài),則有16個個不同的碼字,此時碼距為不同的碼字,此時碼距為1,即兩

59、個碼字之間,即兩個碼字之間最少僅有一個二進制位不同(如最少僅有一個二進制位不同(如0000與與0001之間)。這種編碼沒有檢錯能力,因為當某之間)。這種編碼沒有檢錯能力,因為當某一個合法碼字中有一位或幾位出錯,就變成一個合法碼字中有一位或幾位出錯,就變成為另一個合法碼字了。為另一個合法碼字了。碼距碼距d與查錯、糾錯能力的關系與查錯、糾錯能力的關系若碼距若碼距d為奇數(shù),如果只用來判明為奇數(shù),如果只用來判明有無錯誤,可以發(fā)現(xiàn)有無錯誤,可以發(fā)現(xiàn)(d-1)位錯;如位錯;如果用來糾正錯誤,就能糾正果用來糾正錯誤,就能糾正(d-1)/2位錯。位錯。若碼距若碼距d為偶數(shù),可以發(fā)現(xiàn)為偶數(shù),可以發(fā)現(xiàn)d/2 位錯

60、,位錯,并能糾正并能糾正(d/2)-1位錯。位錯。2.6.1 奇偶校驗碼1.奇偶校驗概念奇偶校驗概念 奇偶校驗碼是一種最簡單的數(shù)據(jù)校驗奇偶校驗碼是一種最簡單的數(shù)據(jù)校驗碼,它的碼距等于碼,它的碼距等于2,可以檢測出一位錯,可以檢測出一位錯誤(或奇數(shù)位錯誤),但不能確定出錯的誤(或奇數(shù)位錯誤),但不能確定出錯的位置,也不能檢測出偶數(shù)位錯誤。位置,也不能檢測出偶數(shù)位錯誤。 奇偶校驗實現(xiàn)方法是:由若干位有效奇偶校驗實現(xiàn)方法是:由若干位有效信息(如一個字節(jié)),再加上一個二進制信息(如一個字節(jié)),再加上一個二進制位(校驗位)組成校驗碼。位(校驗位)組成校驗碼。 1位n位有效信息位奇偶校驗位奇偶校驗碼奇偶校

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論