計算機中數(shù)據(jù)的表示與信息編碼_第1頁
計算機中數(shù)據(jù)的表示與信息編碼_第2頁
計算機中數(shù)據(jù)的表示與信息編碼_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機中數(shù)據(jù)的表示與信息編碼計算機最主要的功能是處理信息,如處理文字、聲音、圖形和圖像等信息。在計算機內(nèi)部,各種信息都必須經(jīng)過數(shù)字化編碼后才能被傳送、存儲和處理。因此要了解計算機工作的原理,還必須了解計算機中信息的表現(xiàn)形式。計算機使用的數(shù)制1 計算機內(nèi)部是一個二進制數(shù)字世界計算機內(nèi)部采用二進制來保存數(shù)據(jù)和信息。無論是指令還是數(shù)據(jù),若想存入計算機中, 都必須采用二進制數(shù)編碼形式,即使是圖形、圖像、聲音等信息,也必須轉(zhuǎn)換成二進制,才 能存入計算機中。為什么在計算機中必須使用二進制數(shù),而不使用人們習慣的十進制數(shù)?原因在于: 易于物理實現(xiàn):因為具有兩種穩(wěn)定狀態(tài)的物理器件很多,例如,電路的導通與截止、電

2、壓的高與低、磁性材料的正向極化與反向極化等。它們恰好對應表示1和0兩個符號。機器可靠性高:由于電壓的高低、電流的有無等都是一種躍變,兩種狀態(tài)分明,所以0和1兩個數(shù)的傳輸和處理抗干擾性強,不易出錯,鑒別信息的可靠性好。運算規(guī)則簡單:二進制數(shù)的運算法則比較簡單,例如,二進制數(shù)的四則運算法則分 別只有三條。由于二進制數(shù)運算法則少,使計算機運算器的硬件結構大大簡化,控制也就簡單多了。雖然在計算機內(nèi)部都使用二進制數(shù)來表示各種信息,但計算機仍采用人們熟悉和便于閱讀的形式與外部聯(lián)系,如十進制、八進制、十六進制數(shù)據(jù),文字和圖形信息等,由計算機系 統(tǒng)將各種形式的信息轉(zhuǎn)化為二進制的形式并儲存在計算機的內(nèi)部。2 .

3、進位計數(shù)制數(shù)制,也稱計數(shù)制,是指用一組固定的符號和統(tǒng)一的規(guī)則來表示數(shù)值的方法。數(shù)制可分為非進位計數(shù)制和進位計數(shù)制兩種。非進位計數(shù)制的數(shù)碼表示的數(shù)值大小與它在數(shù)中的位置無關;而進位計數(shù)制的數(shù)碼所表示的數(shù)值大小則與它在數(shù)中所處的位置有關。而我們在這里討論的數(shù)制指的都是進位計數(shù)制。進制是進位計數(shù)制的簡稱,是目前世界上使用最廣泛的一種計數(shù)方法,它有基數(shù)和位權兩個要素。?基數(shù):在采用進位計數(shù)制的系統(tǒng)中,如果只用r個基本符號(例如0, 1, 2,,r-1 )表示數(shù)值,則稱其為 r數(shù)制(Radix-r Number System ), r稱為該數(shù)制 的基數(shù)(Radix )。如日常生活中常用的十進制,就是r=

4、10,即基本符號為0, 1, 2,,9。如取r=2,即基本符號為0和1,則為二進制數(shù)。?位權:每個數(shù)字符號在固定位置上的計數(shù)單位稱為位權。位權實際就是處在某一位上的1所表示的數(shù)值大小。如在十位制中,個位的位權是10°,十位的位權是101,; 向右依次是10-1 , 10-2,。而二進制整數(shù)右數(shù)第 2位的位權為2,第3位的位權為4,第4 位的位權為8。一般情況下,對于 r進制數(shù),整數(shù)部分右數(shù)第i位的位權為ri-1,而小數(shù)部分左數(shù)第i位的位權為r-i。各種進制的共同點是: 每一種數(shù)制都有固定的符號集。如十進制數(shù)制,其符號有十個:0, 1, 2,9,二進制數(shù)制,其符號只有兩個:0和1。需要

5、指出的是,16進制數(shù)基數(shù)為16,所以有16個基本符號,分別為0,1, 2,8, 9, A, B, C, D, E, F。表1- 3列出了計算機中常用的幾種進制。 采用位置表示法,用位權來計數(shù)。即處于不同位置的數(shù)符所代表的值不同,與它所 在位置的權值有關。例如:十進制的1358.74可表示為:3210-1-21358.74=1 X 10 +3X 10 +5X 10 +8X 10 +7X 10 +4X 10可以看出,各種進位制中的位權的值恰好是基數(shù)的某次幕。因此,對于任何一個進位計數(shù)制表示的數(shù)都可以寫出按其權值展開的各項式之和,稱為“按權展開式”。任意一個n位整數(shù)和m位小數(shù)的r進制數(shù)D可表示為:D

6、Di riD n-1 D n-2 D2 D 1 Do. DmDm-1 Dm-2 j一 _一jn位整數(shù)m位數(shù)按基數(shù)來進位和借位(逢 r進一,借一當r )?,F(xiàn)列舉二進制的算術運算如下:從這里我們能夠體會到二進制的運算的確能夠起到簡化 硬件的作用.加法:0 + 0 = 0減法: 0 0 = 00+1 = 10 1 = 1(借位)1+0=110=11 + 1 = 1 0(進位)1 1 = 0乘法:0X0=0除法:01 = 00 X 1=01 -1 = 11 X 0=01 X 1=1表1-3計算機中常用的幾種進位數(shù)制進位制二進制八進制十進制十六進制規(guī)則逢二進一逢八進一逢十進一逢十六進一基數(shù)r=2r=8r

7、=10r=16數(shù)符0,10,1,2,70,1,2,90,1,2,9,A,B,C,D,E,F權8101161表示符號BODH數(shù)制間的相互轉(zhuǎn)換1 非十進制數(shù)轉(zhuǎn)換十進制數(shù)r進制轉(zhuǎn)換為十進制數(shù),采用r進制數(shù)的位權展開法,即將r進制數(shù)按“位權”展開形成多項式并求和,得到的結果就是轉(zhuǎn)換結果?!纠?.11【例1.1】 把(11011.101) 2轉(zhuǎn)換成十進制數(shù)解:(11011.101) 2= 152 + 152 + 052 + 152 + 152 + 152 - + 052 - + 152 -=16 + 8 + 0 + 2 + 1 + 0.5 + 0 +0.125=(27.625)102 十進制數(shù)轉(zhuǎn)換非十進

8、制數(shù)轉(zhuǎn)換規(guī)則:整數(shù)部分采用“逐次除以基數(shù)取余”法,直到商為0;小數(shù)部分采用“逐次乘以基數(shù)取整”法,直到小數(shù)部分為0或取到有效數(shù)位。十進制數(shù)轉(zhuǎn)換成二進制數(shù):整數(shù)部分采用“除2取余”法;小數(shù)部分采用“乘2取整”法【例1.2 1把(157.6875) 1。轉(zhuǎn)換成二進制數(shù)27 8余1229余0219余129余124余122余。215 7余數(shù)十進制整數(shù)部分整數(shù)整數(shù)整數(shù)十進制小數(shù)部分0.6875X 21.3750X 20.7500X 21.5000X 2注:十進制小數(shù)不一定能轉(zhuǎn)換成完全等值的二進制小數(shù),有時要取近似值。(0.6875) 10 = (1011)2結果:(157.6875)1。= (10011

9、101 . 1011)2 用同樣的方法,可將十進制數(shù)轉(zhuǎn)換成八進制數(shù)和十六進制數(shù),分別采用“除8取余,乘8取整”和“除16取余,乘16取整”法。3.非十進制數(shù)之間的轉(zhuǎn)換通常兩個非十進制數(shù)之間的轉(zhuǎn)換方法是采用上述兩種方法的組合,即先將被轉(zhuǎn)換數(shù)轉(zhuǎn)換為相應的十進制數(shù),然后再將十進制數(shù)轉(zhuǎn)換為其他進制數(shù)。由于二進制、八進制和十六進制之間存在著特殊關系,即 81=23,161=24,因此轉(zhuǎn)換方法就比較容易,如表 1-4所示。二進制、八進制數(shù)之間的轉(zhuǎn)換。由于1位八進制數(shù)相當于 3位二進制數(shù),因此,二進制數(shù)轉(zhuǎn)換成八進制數(shù),只需以小數(shù)點為界,整數(shù)部分按照由右至左(由低位向高位)、小數(shù)部分按照從左至右(由高位向低位

10、)的順序每三位劃分為一組,最后不足3位二進制數(shù)時用零補足。按表1-4,每三位二進制數(shù)分別用與其對應的八進制數(shù)碼來取代,即可完成轉(zhuǎn)換。而將八進制轉(zhuǎn)換成二進制的過程正好相反。【例 1.3 】 將(11001110 . 01010111)2轉(zhuǎn)換成八進制數(shù)。(011 001 110.0 10 10 1110) 2JJJJJJ(316.256 ) 8【例1.4】將(574 .623)8轉(zhuǎn)換成二進制數(shù)。(574.623) 8JJJJJJ(10 1 111 10 0.110 0 100 11) 2 二進制、十六進制數(shù)之間的轉(zhuǎn)換4位數(shù),因此二進制冋十六進制之間的轉(zhuǎn)換就如由于十八進制的1位數(shù)相當于二進制的同二進

11、制同八進制之間的轉(zhuǎn)換一樣,只是4位一組,不足補零?!纠?.5】將(11011 1110 0011 . 1001 011)2轉(zhuǎn)換成十六進制數(shù)。(000 1 10 1111100 0 11 . 10 0 1 0 110) 2JJJJ(1BE3.96)16表1-4二進制、八進制和十六進制之間的關系二進制八進制二進制十八進制二進制十八進制00000000010008001100011100190102001021010A0113001131011B1004010041100C1015010151101D1106011061110E1117011171111F總之,數(shù)在機器中是用二進制表示的,但是,二進

12、制數(shù)書寫起來太冗長,容易出錯,而 且目前大部分微型機的字長是4位、8位、16位、32位和64位的,都是4的整數(shù)倍,故在書寫時可用十六進制表示。一個字節(jié)(8位)可用兩位十六位進制數(shù)表示,兩個字節(jié)(16位)可用4位十六進制表示等,書寫方便且不容易出錯。二進制數(shù)在計算機內(nèi)的表示計算機中的數(shù)據(jù)包括數(shù)值型和非數(shù)值型兩大類。數(shù)值型數(shù)據(jù)指可以參加算術運算的數(shù)據(jù),例如(123) io、(1001.101) 2等。非數(shù)值型數(shù)據(jù)不參與算術運算。例如字符串“電話號碼:2519603”、“4的3倍等于12”等都是非數(shù)值數(shù)據(jù)。注意這兩個例子中均含有數(shù)字,如2519603、4、3、12,但它們不能也不需要參加算術運算,故

13、仍屬非數(shù)值數(shù)據(jù)。下面討論數(shù)值型的二進制數(shù)的表示形式:1. 機器數(shù)在計算機中,因為只有“ 0”和“ 1”兩種形式,所以數(shù)的正負,也必須以“0 ”和“ 1 ”表示。通常把一個數(shù)的最高位定義為符號位,用0表示正,1表示負,稱為數(shù)符,其余位仍表示數(shù)值。把在機器內(nèi)存放的正、負號數(shù)碼化的作為一個整體來處理的二進數(shù)串稱為機器數(shù)(或機器字),而把機器外部由正、負表示的數(shù)稱為真值數(shù)。例:真值為(+1010011) B的機器數(shù)為01010011,存放在機器中,等效于 +83。需注意的是,機器數(shù)表示的范圍受到字長和數(shù)據(jù)的類型的限制。字長和數(shù)據(jù)類型定了,機器數(shù)能表示的數(shù)值范圍也就定了。例如,若表示一個整數(shù),字長為8位

14、,則最大的正數(shù)為01111111,最高位為符號位,即最大值為127。若數(shù)值超出127,就要“溢出”。2. 數(shù)的定點表示和浮點表示當計算機所需處理的數(shù)含有小數(shù)部分時,又出現(xiàn)了如何表示小數(shù)點的問題。 計算機中并不單獨利用某一個二進制位來表示小數(shù)點,而是隱含規(guī)定小數(shù)點的位置。根據(jù)小數(shù)點位置是否固定,計算機中的數(shù)可分為定點數(shù)和浮點數(shù)兩種。 定點表示法:所謂定點表示法就是小數(shù)點在數(shù)中的位置固定不變,它總是隱含在預 定位置上。通常,對于整型數(shù),小數(shù)點固定在數(shù)值部分的右端,即在數(shù)的最低位之后,其格 式如圖1-2所示;對于小數(shù),小數(shù)點固定在數(shù)值部分左端,即在數(shù)的符號位之后、最高數(shù)位之前,其格式如圖1-3所示。

15、sdn-1dn-2d°符號/位數(shù)值部分/ 小數(shù)點位置圖1-2定點整數(shù)的存儲格式sdn-1dn-2d0符號位數(shù)值部分小數(shù)點位置圖1-3定點小數(shù)的存儲格式例如:定點整數(shù)120用8位二進制數(shù)可表示為 01111000,其中最高位0表示符號為正。 根據(jù)計算機字長不同,如果用n個二進制位存放一個定點整數(shù),那么它的表示范圍為:-2n-1 2n-1 -1。說明:上面表示的整數(shù)的范圍是以補碼形式表示的,有關補碼的知識在后面介紹。定點小數(shù)-0.125用8位二進制數(shù)可表示為 10010000,其中最高位1表示號為負。根據(jù)計算機字長不同,如果用n個二進制位存放一個定點小數(shù)(純小數(shù)),其表示范圍為:-1 (

16、2- (n-1)。數(shù)的浮點表示定點數(shù)用來表示整數(shù)或純小數(shù)。如果,一個數(shù)既有整數(shù)部分,又有小數(shù)部分,采用定點格式就會引起一些麻煩和困難。因此,計算機中使用浮點表示方法。浮點表示法對應于科學(指數(shù))計數(shù)法,如數(shù) 110. 011可表示為+ 1010 +11N=110.011=1.10011X2 =11001.1 X2 - =0.110011 X2浮點表示法中的小數(shù)點在數(shù)中的位置不是固定不變的,是浮動的。任何浮點數(shù)都由階碼和尾數(shù)兩部分組成,階碼是指數(shù),尾數(shù)是純小數(shù)。其存儲格式如圖1-4所示。其中,數(shù)符和階符都各占一位,數(shù)符是尾數(shù)(純小數(shù))部分的符號位;而階符為階碼(指數(shù)部分)的符號位。階碼的位數(shù)隨數(shù)

17、值的表示的范圍而定,尾數(shù)的位數(shù)則依數(shù)的精度而定。當一個數(shù)的階碼大于階符階碼數(shù)符應當注意的是:浮點數(shù)的正負是由尾數(shù)的數(shù)符確定的, 位置,即決定浮點數(shù)的絕對值的大小。當浮點數(shù)的尾數(shù)為零或階碼為最小值時, 定,把該數(shù)看作零,稱為機器零。機器所能表示的最大階碼或小于機器所能表示的最小階碼時會產(chǎn)生“溢出”。尾數(shù)而階碼的正、負只決定小數(shù)點的機器通常規(guī)3. 帶符號數(shù)的表示在計算機中,帶符號數(shù)可以用不同方法表示,常用的有原碼、反碼和補碼。 原碼數(shù)X的原碼記作X原,如果機器字長為 n,由則原碼的定義如下:例:X i ,X 2的真值為 X i=+1010110 X 2=-1001010 , 原碼表示為n-1X 0

18、< X<2 -1兇 2原 = * nX + I(X | -(2 n-1-療 <X£10x 2 = n- I X|-(2n-1-1)X 1原=+1010110原=01010110X 2原=-1001010原=11001010由此可以看出,原碼的最高位為符號位,正數(shù)為0,負數(shù)為1,其余n-1位表示數(shù)的真值的絕對值。其中,0的原碼表示有兩種,+0原=00000000 -0原=10000000采用原碼的優(yōu)點是簡單易懂,與真值轉(zhuǎn)換方便,用于乘除法運算十分方便。但是對于加 減法運算就麻煩了,因為當兩個同號數(shù)相減或兩個異號數(shù)相加時,必須判斷兩個數(shù)的絕對值哪個大,用絕對值大的數(shù)減去

19、絕對值小的數(shù),而運算結果的符號則應取與絕對值大的數(shù)相同符號。要完成這些操作相當麻煩,還會增加運算器的復雜性。為了克服原碼的缺點,引進了數(shù)的補碼表示方法。補碼數(shù)X的補碼記作X補,如果機器字長為 n,則補碼的定義如下:n-1X . 0< X<2 -1兇 2卜=J n - | X|-2 n-1w XW 0正數(shù)的補碼等于其原碼本身;而負數(shù)的補碼等于2n減去它的絕對值,即等于對它的原碼(符號位除外)各位取反,并在末位加1而得到的數(shù)。例:X 1 ,X 2的真值為 X 1=+1010110 X 2=-1001010 , 補碼表示為X1補=01010110 X 2補=10110110在補碼中,0有

20、唯一的編碼:+0補=-0補=00000000補碼可以將減法運算轉(zhuǎn)化為加法運算,即實現(xiàn)類似代數(shù)中的x-y = x+(-y) 的運算。如補碼的加減法運算規(guī)則:X+Y補=兇補+Y補X-Y補=兇補+-Y補反碼反碼是對負數(shù)原碼除符號位外逐位取反所得的數(shù),正數(shù)的反碼則與其原碼形式相同。例:X1 ,X 2的真值為 X 1=+1010110 X 2=-1001010 , 反碼表示為X1 反=01010110 X 2反=10110101同樣,反碼表示方式中,0有兩種表示方法:+0 反=00000000 -0反=11111111數(shù)字化信息編碼數(shù)字化信息編碼是把少量二進制符號(代碼),根據(jù)一定規(guī)則組合起來,以表示大

21、量復雜多樣的信息的一種編碼。一般來說,根據(jù)描述信息的不同可分為數(shù)字編碼、字符編碼、 漢字編碼等。1.數(shù)字編碼數(shù)字編碼是用二進制數(shù)碼按照某種規(guī)律來描述十進制數(shù)的一種編碼。最簡單最常的是8421碼,或稱 BCD( Binary-Code-Decimal )。它利用四位二進制代碼進行編碼,這四位 二進制代碼,從高位至低位的位權分別為23、22、21、20,即8、4、2、1。并用來表示一位十進制數(shù)0 1234567898421 碼0000 00010010 0011 0100 0101 0110011110001001根據(jù)這種對應關系,任何十進制數(shù)都可以同8421碼進行轉(zhuǎn)換。如(52) 10 =(01

22、010010)BCD ( 1001 01001000 0101) = ( 9485) 102.字符編碼在計算機系統(tǒng)中,除了處理數(shù)字外,還需要把符號、文字等利用二進制表示,這樣的二進制數(shù)稱為字符編碼。ASCII 碼(American Sta ndard Code of In formation In tercha nge)是"美國標準信息交換代碼”的縮寫。該種編碼后來被國際標準化組織ISO采納,作為國際通用的字符信息編碼方案。ASCII碼用7位二進制數(shù)的不同編碼來表示128個不同的字符(因 27=128),它包含十進制數(shù)符09、大小寫英文字母及專用符號等95種可打印字符,還有 33種通

23、用控制字符(如回車、換行等),共128個。ASCII碼表如表1-5所示,如A的ASCII碼為1000001。 ASCII碼中,每一個編碼轉(zhuǎn)換為十進制數(shù)的值被稱為該字符的ASCII碼值。表 1-5 ASCII 表b 7beb5b4b3b2b10000010100111001011101110000NULDLESP0P、P0001SOHDC!1AQaq0010STXDCcc2BRbr0011ETXDC#3CScs0100EOTDC$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETBc7GWgw1000BSCAN(8HXhx1001HTEM)9IY

24、iy1010LFSUB*JZjz1011VTESC+Kk1100FFFS<Ll|1101CRGS=Mm1110SORS>MAn1111SIUS/?O_oDEL2. 2.漢字編碼:漢字在計算機內(nèi)也采用二進制的數(shù)字化信息編碼。由于漢字的數(shù)量大,常用的也有幾千個之多,顯然漢字編碼比ASCII碼表要復雜得多,用一個字節(jié)(8 bit )是不夠的。目前的漢字編碼方案有二字節(jié)、三字節(jié)甚至四字節(jié)的。在一個漢字處理系統(tǒng)中,輸入、內(nèi)部處理、 輸出對漢字的要求不同,所用代碼也不盡相同。漢字信息處理系統(tǒng)在處理漢字詞語時,要進行輸入碼、國標碼、內(nèi)碼、字型碼等一系列的漢字代碼轉(zhuǎn)換。國標碼1981年我國制定了中華人民共和國國家標準信息交換漢字編碼(GB2312-80標準),這種編碼稱為國標碼。在國標碼字符集中共收錄了漢字和圖形符號7445個,其中一級漢字3755個,二級漢字 3008個,西文和圖形符號 682個。國標GB2312-80規(guī)定,所有的國標漢字與符號組成一個 94594的矩陣。在此方陣中,每 一行稱為一個區(qū)(區(qū)號分別為 0194)、每個區(qū)內(nèi)有94個位(位號

溫馨提示

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

評論

0/150

提交評論