版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022/12/221
21世紀(jì)高等院校計算機(jī)基礎(chǔ)課程系列教材大學(xué)計算機(jī)基礎(chǔ)(第一版)
2022/12/201
21世紀(jì)高等院校計算機(jī)基礎(chǔ)課程系列教2022/12/222本章教學(xué)計劃
理論教學(xué)(課堂教學(xué)):2學(xué)時
實驗教學(xué)(上機(jī)實習(xí)):0學(xué)時本章教學(xué)重點
1.數(shù)制及相互轉(zhuǎn)換
2.碼制及編碼
3.二進(jìn)制運(yùn)算
4.漢字信息處理第2章計算機(jī)信息的表示與存儲2022/12/202本章教學(xué)計劃理論教學(xué)(課堂教學(xué)):22022/12/2232.1進(jìn)位計數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計算機(jī)信息的表示與存儲2022/12/2032.1進(jìn)位計數(shù)制第2章計算機(jī)信息的2022/12/224計算機(jī)只認(rèn)識二進(jìn)制編碼形式的指令,因此字符、數(shù)字、聲音、圖像等信息都必須經(jīng)過某種方式轉(zhuǎn)換成二進(jìn)制的形式,才能提供給計算機(jī)進(jìn)行處理。在機(jī)器內(nèi)部,信息的表示依賴于機(jī)器硬件電路的狀態(tài),信息采用什么樣的表示形式,直接影響到計算機(jī)的質(zhì)量與性能。采用二進(jìn)制是由于這種編碼方式在物理上實現(xiàn)容易,二進(jìn)制僅有兩個狀態(tài)0與1,這正好與物理器件的兩種狀態(tài)相對應(yīng),如門電路的導(dǎo)通與截止、電壓信號的高與低,如采用十進(jìn)制,則電路需要用十種狀態(tài)來描述,這必然使得電路十分復(fù)雜,處理起來十分困難。采用二進(jìn)制使得物理機(jī)器可靠性高,由于僅有二種狀態(tài),那么用電壓的高低或電流的有無來描述都是用質(zhì)的變化來表示的,兩種狀態(tài)分明,處理起來簡單,并且抗干擾能力強(qiáng),鑒別信息的可靠性高。采用二進(jìn)制編碼不僅成功的運(yùn)用于數(shù)值信息編碼,而且適用于各種非數(shù)值信息的數(shù)字編碼。特別是二進(jìn)制數(shù)的兩個符號0和1,正好與邏輯命題兩個值“真”與“假”相對應(yīng),從而也為計算機(jī)實現(xiàn)邏輯判斷提供了方便。前言信息在計算機(jī)內(nèi)的表示2022/12/204計算機(jī)只認(rèn)識二進(jìn)制編碼形式的指令,2022/12/2252.1.1不同數(shù)制的表示*數(shù)制在數(shù)值計算中,一般采用的是進(jìn)位計數(shù),日常生活中我們采用的是十進(jìn)位計數(shù),而在計算機(jī)內(nèi)處理信息采用二進(jìn)位計數(shù)。在進(jìn)位計數(shù)的數(shù)字系統(tǒng)中,如果只用R個基本符號(如0,1,2····R)來表示數(shù)值,則稱其為“基R數(shù)制”。R稱為該數(shù)制的“基數(shù)”,而數(shù)值中每一固定位置對應(yīng)的單位稱為“權(quán)”。如十進(jìn)制數(shù),就是R=10,即基本符號為0,1,2·····8,9。如取R=2,即基本符號為0,1,則為二進(jìn)制數(shù)。進(jìn)位計數(shù)的編碼符合“逢R進(jìn)位”的規(guī)則。各位的權(quán)是以R為底的冪,一個數(shù)可按權(quán)展開成多項式。2.1進(jìn)位計數(shù)制2022/12/2052.1.1不同數(shù)制的表示2.1進(jìn)位2022/12/2262.1進(jìn)位計數(shù)制2022/12/2062.1進(jìn)位計數(shù)制2022/12/2272.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)位計數(shù)制(1)R進(jìn)制轉(zhuǎn)換為十進(jìn)制基數(shù)為R的數(shù)字,只要將各位數(shù)字與它的權(quán)相乘,然后將其按“逢十進(jìn)一”相加,其和就是一個十進(jìn)制數(shù)。2022/12/2072.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)位2022/12/228(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制將十進(jìn)制轉(zhuǎn)換成R進(jìn)制時,將整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換,然后再將整數(shù)部分與小數(shù)部分轉(zhuǎn)換的結(jié)果相加起來。這里主要介紹十進(jìn)制轉(zhuǎn)換成二進(jìn)制。2.1進(jìn)位計數(shù)制2022/12/2082.1進(jìn)位計數(shù)制2022/12/229(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制十進(jìn)制小數(shù)轉(zhuǎn)換成R進(jìn)制時,可連續(xù)地乘以R,直到小數(shù)部分為0,或達(dá)到所要求的精度為止(小數(shù)部分可能永遠(yuǎn)不為0)得到的整數(shù)即組成R進(jìn)制的小數(shù)部分,此法稱“乘R取整”。2.1進(jìn)位計數(shù)制2022/12/209(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制2.1進(jìn)位計2022/12/22102.1.2不同數(shù)制的轉(zhuǎn)換(3)二、八、十六進(jìn)制的相互轉(zhuǎn)換由于二位,八位,十六位這三種進(jìn)制數(shù)的權(quán)之間有一定的內(nèi)在聯(lián)系,即23=8、24=16,故其之間的轉(zhuǎn)換比較容易。即每一位八進(jìn)制數(shù)相當(dāng)于三位二進(jìn)制數(shù),每一位十六進(jìn)制數(shù)相當(dāng)于四位二進(jìn)制數(shù)。在由二進(jìn)制轉(zhuǎn)換為八進(jìn)制時,以小數(shù)點為中心向左右兩邊延伸,每三位為一組,中間的0不省,到了兩頭不夠一組時用0補(bǔ)足位數(shù),算出每一組相對應(yīng)的十進(jìn)制數(shù),然后將這些十進(jìn)制數(shù)組合起來就成了一個八進(jìn)制數(shù)。例:將(11101.00101)2轉(zhuǎn)換成八進(jìn)制數(shù)。2.1進(jìn)位計數(shù)制2022/12/20102.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)2022/12/22112.1.2不同數(shù)制的轉(zhuǎn)換(3)二、八、十六進(jìn)制的相互轉(zhuǎn)換2.1進(jìn)位計數(shù)制2022/12/20112.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)2022/12/22122.1進(jìn)位計數(shù)制2.1.3計算機(jī)運(yùn)算基礎(chǔ)一、算術(shù)運(yùn)算基礎(chǔ)計算機(jī)內(nèi)部的運(yùn)行采用的是二進(jìn)制數(shù),其基本的運(yùn)行就是算術(shù)運(yùn)算與邏輯運(yùn)算。二進(jìn)制數(shù)的算術(shù)運(yùn)算與十進(jìn)制數(shù)的算術(shù)運(yùn)算一樣,也包括加、減、乘、除四則運(yùn)算
1)二進(jìn)制的加法運(yùn)算二進(jìn)制數(shù)的加法運(yùn)算法則是:
1+1=0(采用逢二進(jìn)一的法則1+1=2則進(jìn)位,本位為0)
1+0=1
0+1=1
0+0=02022/12/20122.1進(jìn)位計數(shù)制2.1.3計算機(jī)2022/12/22132.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2)二進(jìn)制的減法運(yùn)算二進(jìn)制減法運(yùn)算法則:
0-0=0
1-1=0
1-0=1
0-1=1(被減數(shù)為0,減數(shù)為1,被減數(shù)向高位借位則本位余1)2022/12/20132.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22142.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)3)二進(jìn)制乘法二進(jìn)制乘法法則:
0×0=0
1×0=0
0×1=0
1×1=12022/12/20142.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22152.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)4)二進(jìn)制的除法運(yùn)算二進(jìn)制的除法運(yùn)算法則:
0/0=0
0/1=0
1/0=0(無意義)
1/1=12022/12/20152.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22162.1進(jìn)位計數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計算機(jī)信息的表示與存儲2022/12/20162.1進(jìn)位計數(shù)制第2章計算機(jī)信息2022/12/2217
在計算機(jī)內(nèi)部,計算機(jī)僅“認(rèn)識”兩個字—“0”和“1”,無論是處理數(shù)據(jù)、發(fā)出控制指令、數(shù)據(jù)存放的地址、還是通信時傳輸?shù)臄?shù)據(jù)都是二進(jìn)制數(shù)。同時計算機(jī)在進(jìn)行數(shù)字計算、處理字母符號、漢字、圖形、圖像、聲音都必須按一定的規(guī)則將其轉(zhuǎn)換成二進(jìn)制。這個規(guī)則就是編碼。
2.2數(shù)值編碼2022/12/20172.2數(shù)值編碼2022/12/2218
在計算機(jī)內(nèi),各種信息都是以二進(jìn)制碼形式來描述、存儲。存儲就有量的大小,信息存儲的單位就使用一些量來描述。①位(bit)位是度量數(shù)據(jù)的最小單位,表示一位二進(jìn)制信息。②字節(jié)(byte)我們前面介紹的存儲器的容量、硬盤的大小、內(nèi)存的大小、光盤的容量等都是以多少字節(jié)來表示的,常用的單位有:
B
1B=8bit
KB1KB=1024ByteMB1MB=1024KBGB1GB=1024MB
TB1TB=1024GB
字節(jié)是計算機(jī)中用來表示存儲空間大小的最基本的容量單位。2.2數(shù)值編碼2022/12/20182.2數(shù)值編碼2022/12/2219
數(shù)據(jù)在計算機(jī)中的表示(1)數(shù)值數(shù)值有大小及符號(正數(shù),負(fù)數(shù))。數(shù)在計算機(jī)的表示統(tǒng)稱為機(jī)器數(shù)。①數(shù)的符號數(shù)值化:通常把一個數(shù)的二進(jìn)制代碼的最高位定義為符號位,最高位為“0”表示該數(shù)為正數(shù),最高位為“1”表示該數(shù)為負(fù)數(shù),這一位稱為數(shù)符,其余位表示該數(shù)的絕對值。若一個數(shù)為八位,則最高位為數(shù)符,其余7位才表示該數(shù)的值。②定點數(shù):用來表示整數(shù)和純小數(shù),因此小數(shù)點約定在一個固定的位置上,不再占用一個數(shù)位。③機(jī)器數(shù)的表示范圍受到字長和數(shù)據(jù)類型的限制,例如,若表示一個整數(shù),字長為8位,最大值為127,若數(shù)值超過127,就要“溢出”。為了表示較大的或較小的數(shù),計算機(jī)采用浮點來表示,其中小數(shù)點在數(shù)中的位置是浮動的。2.2數(shù)值編碼2022/12/2019數(shù)據(jù)在計算機(jī)中的表示2.22022/12/22202.2.1帶符號數(shù)的表示方式從上面描述的機(jī)器數(shù)知道,機(jī)器數(shù)由數(shù)符和真值數(shù)兩部分組成,機(jī)器數(shù)在參加運(yùn)算時,若數(shù)符與真值數(shù)同時參加運(yùn)算,則會產(chǎn)生錯誤的結(jié)果,同時還要考慮計算后的符號問題。因此直接用機(jī)器數(shù)參與運(yùn)算,則增加計算機(jī)計算的難度。如+7加上-5應(yīng)為+2,但如果直接用二進(jìn)制數(shù)的加法運(yùn)算:
00000111+7機(jī)器數(shù)
+10000101-5機(jī)器數(shù)
10001100-12機(jī)器數(shù)如果不直接相加,就要考慮符號位的處理,則運(yùn)算會變得復(fù)雜。為了解決這類問題,在機(jī)器數(shù)中,負(fù)數(shù)有三種表示法:原碼、反碼、補(bǔ)碼!2.2數(shù)值編碼2022/12/20202.2.1帶符號數(shù)的表示方式2.22022/12/22212.2.1帶符號數(shù)的表示方式下面介紹原碼、反碼、補(bǔ)碼。為簡單起見,這兒以整數(shù)為例,并且假定字長為8位。
原碼:整數(shù)X的原碼,其符號位“0”表示正、“1”表示負(fù),其數(shù)值部分就是X絕對值的二進(jìn)制表示.通常用[X]原表示X的原碼.如:
[+2]原=00000010[-2]原=10000010在原碼中0有兩種表示:
[+0]原=00000000[-0]原=10000000原碼表示有三個主要特點:一是直觀,與真值轉(zhuǎn)換很方便;二是進(jìn)行乘、除運(yùn)算方便;三是加、減運(yùn)算比較麻煩。2.2數(shù)值編碼2022/12/20212.2.1帶符號數(shù)的表示方式2.22022/12/2222
反碼:整數(shù)X的反碼指:對于正數(shù),其反碼與原碼相同,對于負(fù)數(shù),符號位為1,其數(shù)值位X按位取反,通常用[X]反表示X的反碼。例:
[+2]反=00000010
[-2]反=11111101
0的反碼有兩種表示:[+0]反=00000000
[-0]反=11111111[+127]反=01111111[-127]反=10000000
2.2數(shù)值編碼2022/12/2022反碼:整數(shù)X的反碼指:對于正數(shù),2022/12/2223補(bǔ)碼:補(bǔ)碼的引進(jìn)和定義補(bǔ)碼的編碼規(guī)則如下:定義正數(shù)的補(bǔ)碼就是它本身,符號位取0,即和原碼相同。負(fù)數(shù)的補(bǔ)碼通過在其對應(yīng)的反碼最低位加1得到。
[+5]補(bǔ)=[+5]反=[+5]原=00000101
[-5]原=10000101[-5]反=11111010[-5]補(bǔ)=111110110的補(bǔ)碼如下所示:
[+0]補(bǔ)=[-0]補(bǔ)=
00000000
2.2數(shù)值編碼2022/12/2023補(bǔ)碼:補(bǔ)碼的引進(jìn)和定義2.2數(shù)值2022/12/2224補(bǔ)碼的性質(zhì):補(bǔ)碼的性質(zhì)主要有三條:①[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ),即兩數(shù)之和的補(bǔ)碼等于各自補(bǔ)碼的和。②[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ),即兩數(shù)之差的補(bǔ)碼等于被減數(shù)的補(bǔ)碼與減數(shù)相反數(shù)的補(bǔ)碼之和。③[[X]補(bǔ)]補(bǔ)=[X]原,即按求補(bǔ)的方法,對[X]補(bǔ)再求一次,結(jié)果等于[X]原。利用補(bǔ)碼進(jìn)行加、減運(yùn)算:引進(jìn)補(bǔ)碼的目的是方便帶符號數(shù)的加、減運(yùn)算,這里僅看一下加法,舉幾個例子。2.2數(shù)值編碼2022/12/2024補(bǔ)碼的性質(zhì):補(bǔ)碼的性質(zhì)主要有三條2022/12/2225
請注意:符號也參與運(yùn)算,符號位出現(xiàn)的進(jìn)位應(yīng)丟棄。下面是三個利用補(bǔ)碼求和的例子。這里假定機(jī)器數(shù)為8位。(1)兩個正數(shù)相加
x=(0111101)2y=(0100001)2
(x)補(bǔ)=00111101(y)補(bǔ)=00100001
(x)補(bǔ)+(y)補(bǔ)=00111101+00100001=01011110
(x+y)補(bǔ)=01011110=(x)補(bǔ)+(y)補(bǔ)
(2)兩個負(fù)數(shù)相加
x=(-0111101)2y=(-0100001)2
(x)補(bǔ)=11000011(y)補(bǔ)=11011111
(x)補(bǔ)+(y)補(bǔ)=11000011+11011111=10100010
(x+y)補(bǔ)=(-1011110)補(bǔ)=10100010=(x)補(bǔ)+(y)補(bǔ)2.2數(shù)值編碼2022/12/2025請注意:符號也參與運(yùn)算,符號位出2022/12/2226(3)正數(shù)x和負(fù)數(shù)y相加:
x=(3D)H=(0111101)2y=(-21)H=(-0100001)2
(x)補(bǔ)=00111101(y)補(bǔ)=11011111
(x)補(bǔ)+(y)補(bǔ)=00111101+11011111=00011100
(x+y)補(bǔ)=(0011100)補(bǔ)=00011100=(x)補(bǔ)+(y)補(bǔ)2.2數(shù)值編碼2022/12/2026(3)正數(shù)x和負(fù)數(shù)y相加:2.22022/12/2227
綜上所述:原碼定點整數(shù)的表示范圍為:-(2n-1)~(2n-1)補(bǔ)碼定點整數(shù)的表示范圍為:-2n
~(2n-1)
若機(jī)器字長有8位,則:原碼定點整數(shù)表示范圍為:-127~127補(bǔ)碼定點整數(shù)表示范圍為:-128~127011111110111111101111111100000001000000010000000§3數(shù)的定點表示與浮點表示0111111101111111011111111111111111111111111111112022/12/2027綜上所述:011111110112022/12/22282.2數(shù)值編碼溢出:當(dāng)運(yùn)算的結(jié)果超出某種數(shù)據(jù)類型所表示的數(shù)的范圍時,機(jī)器不能正確表示,這時要產(chǎn)生溢出。在溢出的情況下,機(jī)器將產(chǎn)生錯誤的結(jié)果。例如,X=-1000001(-65),Y=-1100000(-96),求X+Y。按上面補(bǔ)碼加法做,會得到和的補(bǔ)碼01011111,符號位為0,結(jié)果為一個正數(shù)。這顯然是錯誤的。究其原因,這兩個數(shù)的和為-161,已超過了8位數(shù)據(jù)補(bǔ)碼表示的范圍,出現(xiàn)溢出,因而導(dǎo)致了錯誤。避免溢出的一種有效方法是加寬數(shù)據(jù)的位數(shù)?,F(xiàn)代計算機(jī)的數(shù)據(jù)表示有多種類型。8位機(jī)的數(shù)據(jù)可以是8位,也可以是16位;16位機(jī)的數(shù)據(jù)可以是8位、16位、32位;32位機(jī)的數(shù)據(jù)可以是8位、16位、32位、64位等。2022/12/20282.2數(shù)值編碼溢出:當(dāng)運(yùn)算的結(jié)果超2022/12/22292.1進(jìn)位計數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計算機(jī)信息的表示與存儲2022/12/20292.1進(jìn)位計數(shù)制第2章計算機(jī)信息2022/12/2230*字符編碼
計算機(jī)需要處理的數(shù)據(jù)不僅包括數(shù)值數(shù)據(jù),而且還要處理大量非數(shù)值的符號數(shù)據(jù)。這些非數(shù)值的符號數(shù)據(jù)必須通過某種編碼形式用二進(jìn)制位0和1來表示,才能讓計算機(jī)對其進(jìn)行處理。這些文字信息的符號包括了西文字符(字母、數(shù)字、各種符號)和中文字符。
2.3字符的編碼2022/12/2030*字符編碼2.3字符的編碼2022/12/22312.3.1ASCII碼前面介紹了數(shù)值數(shù)據(jù)的編碼,這解決了計算機(jī)表示數(shù)值信息的問題,除了數(shù)值數(shù)據(jù)外,計算機(jī)還面臨要處理的就是字符、特別是英文字符以及各種標(biāo)點符號、運(yùn)算符等。這些都要轉(zhuǎn)換成二進(jìn)制編碼后才能在計算機(jī)內(nèi)部進(jìn)行處理,目前國際上通用的西文字符編碼就是所謂的ASCII碼(AmericanStandardCodeforInformationInterchange——美國國家信息交換代碼)。2.3字符的編碼2022/12/20312.3.1ASCII碼2.3字符2022/12/22322.3字符的編碼2022/12/20322.3字符的編碼2022/12/22332.3.2漢字的編碼漢字是一種象形文字,它的“意”都寓于其“形”和“音”中。如果直接向計算機(jī)輸入文字和語音雖然可以實現(xiàn),但遠(yuǎn)不理想,況且輸入裝置要做修改。而在計算機(jī)內(nèi)部直接處理、存儲文字的字形和語音就更加困難。故處理字符要進(jìn)行代碼化,西文拼音文字代碼化比較容易,而漢字由于種類繁多,其編碼比拼音文字難得多。漢字信息處理系統(tǒng)在處理漢字和詞語時,要進(jìn)行一系列的漢字代碼轉(zhuǎn)換。通過鍵盤或其他的輸入工具輸入漢字時,要按一定的編碼來進(jìn)行,這稱之為輸入碼,而在計算機(jī)內(nèi)部存儲、處理、傳輸漢字用的代碼稱為機(jī)內(nèi)碼。而要將漢字輸出,用打印機(jī)或顯示器輸出應(yīng)有一個字形碼。2.3字符的編碼2022/12/20332.3字符的編碼2022/12/2234
(1)輸入碼目前使用得最多的輸入設(shè)備就是西文標(biāo)準(zhǔn)鍵盤,這種鍵盤的設(shè)計沿用了西文打字機(jī)的排列。因而,西文的輸入十分方便,想輸入什么字符就按什么鍵。中文輸入為了能直接使用西文字符標(biāo)準(zhǔn)鍵盤,就不可能直接按某鍵了。中文的字?jǐn)?shù)繁多,字形復(fù)雜,字音多變。常用的漢字就有7000多個左右,因此要對漢字設(shè)計相應(yīng)的編碼,以便操作人員從鍵盤上輸入代表漢字的編碼。這些編碼由拉丁字母(如漢語拼音)、數(shù)字(區(qū)位碼)、或特殊符號(五筆字形)構(gòu)成,千變?nèi)f化。各種輸入方案就是以不同的符號系統(tǒng)來代表漢字進(jìn)行輸入的。目前使用得比較多有區(qū)位碼、五筆字形碼、拼音碼、自然碼、和智能ABC。漢字的編碼主要分為三類,數(shù)字編碼,拼音,字形碼。2.3字符的編碼2022/12/2034(1)輸入碼2.3字符的編碼2022/12/2235
(2)機(jī)內(nèi)碼機(jī)內(nèi)碼是計算機(jī)設(shè)備內(nèi)部對信息進(jìn)行處理、內(nèi)部存儲、傳輸所用的代碼。世界各大計算機(jī)公司一般均以ASCII碼為內(nèi)部碼來設(shè)計計算機(jī)系統(tǒng),西文計算機(jī)中沒有交換碼與機(jī)內(nèi)碼之分。而漢字?jǐn)?shù)量多,用一個字節(jié)無法區(qū)分,一般用2個字節(jié)來存放漢字的編碼。兩個字節(jié)共16位,可以表示216=65536個可區(qū)別的碼,如果兩個字節(jié)各用7位,則可表示214=16384個可區(qū)別的碼。一個碼代表一個漢字。一般來說,這已夠用了,現(xiàn)在我國的漢字信息系統(tǒng)一般都采用這種與ASCII碼相應(yīng)的8位碼方案,用2個8位構(gòu)成一個漢字機(jī)內(nèi)碼。
2.3字符的編碼2022/12/20352.3字符的編碼2022/12/2236
(2)機(jī)內(nèi)碼
1981年我國頒布了《通用漢字字符集(基本集)及其交換碼標(biāo)準(zhǔn)》(國家標(biāo)準(zhǔn)代號為GB2312-80)。這是漢字交換碼的國家標(biāo)準(zhǔn),所以又稱“國標(biāo)碼“。該標(biāo)準(zhǔn)收入了6763個常用漢字(其中一級漢字3735個,二級漢字3008個),以及英、俄、日文字與其它符號687個,共有7000多個符號。國標(biāo)碼規(guī)定每個字符由一個2字節(jié)代碼組成。每個字節(jié)的最高位恒為“0”,其余7位用于組成各種不同的碼值。兩個字節(jié)的代碼,共可表示128×128=16384個符號,而國標(biāo)碼的基本集目前僅有7000多個符號,所以足夠使用。計算機(jī)既要處理漢字,也要處理西文。為了實現(xiàn)中、西文兼容,通常利用字節(jié)的最高位來區(qū)分某個碼值是代表漢字或ASCII碼字符。具體的作法是,若最高位為“1”視為漢字符,最高位為“0”視為ASCII碼字符。所以漢字的機(jī)內(nèi)碼就在上述的國標(biāo)碼的基礎(chǔ)上,把2個字節(jié)的最高位一律由“0“改為“1”而構(gòu)成。2.3字符的編碼2022/12/2036(2)機(jī)內(nèi)碼2.3字符的編碼2022/12/2237
(2)機(jī)內(nèi)碼機(jī)內(nèi)碼是供計算機(jī)“識別”所用。而輸入碼是供用戶通過輸入裝置輸入時所用的編碼。如用某種編碼通過鍵盤輸入的漢字,鍵盤管理程序?qū)⑵滢D(zhuǎn)換為機(jī)內(nèi)碼輸入到計算機(jī)。供計算機(jī)處理,如圖1.7所示。為了統(tǒng)一地表示世界各國的文字,1993年國際標(biāo)準(zhǔn)化組織公布了“通用多八位編碼字符集”的國際標(biāo)準(zhǔn)ISO/IEC10646。簡稱UCS(UniversalCodeSet),USC中包含了中、日、韓等國文字,這一標(biāo)準(zhǔn)為包括漢字在內(nèi)的各種正在使用的文字,規(guī)定了統(tǒng)一的編碼方案。該標(biāo)準(zhǔn)是用4個8位碼(四個字節(jié))來表示一個字符。我國相應(yīng)的國家標(biāo)準(zhǔn)為GB13000。2.3字符的編碼2022/12/2037(2)機(jī)內(nèi)碼2.3字符的編碼2022/12/2238(3)漢字字型碼在漢字輸出時用顯示器顯示,用打印機(jī)打印,這就需要用到漢字字型碼。漢字字型碼是漢字字型的字模數(shù)據(jù)。通常用點陣、矢量函數(shù)等方式來表示,用點陣表示字型時,漢字字型碼就是這個漢字字型點陣的代碼。字型碼也稱字模碼,是用點陣表示的漢字字形代碼,它是漢字的輸出形式,根據(jù)輸出漢字要求不同,點陣的多少也不同。通常漢字顯示用16×16點陣,漢字打印可選用24×24、32×32、48×48等點陣,點數(shù)越多,打印的字體越美觀。但漢字庫占用的存儲空間也越大。如一個24×24的漢字占用空間為72B,而48×48的漢字將占用48×6=288B。
2.3字符的編碼00,8000,8020,8010,8011,FE20,1021,0822,040C,03漢字內(nèi)碼1XXXXXXX1XXXXXXX英文內(nèi)碼0XXXXXXX2022/12/2038(3)漢字字型碼2.3字符的編碼2022/12/2239無論是西文字符或者是中文字符,在機(jī)內(nèi)一律使用二進(jìn)制編碼來表示,而漢字的數(shù)量極大,西文字母少。所以西文字符用一個字節(jié)來表示就足夠,而漢字只得采用雙字節(jié)來編碼。又因中文與西文在同一臺計算機(jī)中使用一個存儲器,導(dǎo)致機(jī)內(nèi)碼不同于國標(biāo)碼。兩者又共用一個鍵盤,使得漢字不得不實行編碼輸入。漢字庫占用的空間遠(yuǎn)比西文字庫大,因此漢字的處理較西文處理需要更多的時間與空間。2.3字符的編碼2022/12/2039無論是西文字符或者是中文字符,在2022/12/22402.3.3BCD碼
BCD碼就是十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)所使用的一種編碼方式。在日常生活、工作中,人們習(xí)慣于十進(jìn)制,而計算機(jī)只認(rèn)識二進(jìn)制,所以在計算機(jī)輸入與輸出時,使用了一種稱之為BCD碼的編碼方法,將十進(jìn)制數(shù)轉(zhuǎn)換成計算機(jī)能識別的二進(jìn)制數(shù)或?qū)⒍M(jìn)制數(shù)轉(zhuǎn)換成人們習(xí)慣的十進(jìn)制。
BCD碼(BinaryCodedDecimal——二進(jìn)制編碼的十進(jìn)制數(shù))也稱8421碼,10個十進(jìn)制數(shù)字對應(yīng)的BCD碼見表1.2所示,BCD碼在形式上是由1和0組成的二進(jìn)制數(shù)的形式,實質(zhì)上它表示的是十進(jìn)制數(shù),它的計算方式是用4位二進(jìn)制數(shù)來表示十進(jìn)制數(shù)的每一位。2.3字符的編碼2022/12/20402.3.3BCD碼2.3字符的編2022/12/22412.3字符的編碼2022/12/20412.3字符的編碼2022/12/22422.3.3BCD碼例如:01100101
如果將之看成為一個二進(jìn)制數(shù),則對應(yīng)的十進(jìn)制數(shù)為;(01100101)2=0×27+1×26+1×25+0×24+0×23+1×22+0×21+1×20
=0+64+32+0+0+4+0+1=(101)10
但如果將其理解為一組BCD碼的二進(jìn)制數(shù),則對應(yīng)的十進(jìn)制數(shù)為;(01100101)2=(65)10
65
即BCD碼的二進(jìn)制數(shù)每四位對應(yīng)一個十進(jìn)制數(shù)字來組成一個十進(jìn)制數(shù)。2.3字符的編碼2022/12/20422.3.3BCD碼2.3字符的2022/12/2243下課2022/12/2043下課2022/12/2244
21世紀(jì)高等院校計算機(jī)基礎(chǔ)課程系列教材大學(xué)計算機(jī)基礎(chǔ)(第一版)
2022/12/201
21世紀(jì)高等院校計算機(jī)基礎(chǔ)課程系列教2022/12/2245本章教學(xué)計劃
理論教學(xué)(課堂教學(xué)):2學(xué)時
實驗教學(xué)(上機(jī)實習(xí)):0學(xué)時本章教學(xué)重點
1.數(shù)制及相互轉(zhuǎn)換
2.碼制及編碼
3.二進(jìn)制運(yùn)算
4.漢字信息處理第2章計算機(jī)信息的表示與存儲2022/12/202本章教學(xué)計劃理論教學(xué)(課堂教學(xué)):22022/12/22462.1進(jìn)位計數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計算機(jī)信息的表示與存儲2022/12/2032.1進(jìn)位計數(shù)制第2章計算機(jī)信息的2022/12/2247計算機(jī)只認(rèn)識二進(jìn)制編碼形式的指令,因此字符、數(shù)字、聲音、圖像等信息都必須經(jīng)過某種方式轉(zhuǎn)換成二進(jìn)制的形式,才能提供給計算機(jī)進(jìn)行處理。在機(jī)器內(nèi)部,信息的表示依賴于機(jī)器硬件電路的狀態(tài),信息采用什么樣的表示形式,直接影響到計算機(jī)的質(zhì)量與性能。采用二進(jìn)制是由于這種編碼方式在物理上實現(xiàn)容易,二進(jìn)制僅有兩個狀態(tài)0與1,這正好與物理器件的兩種狀態(tài)相對應(yīng),如門電路的導(dǎo)通與截止、電壓信號的高與低,如采用十進(jìn)制,則電路需要用十種狀態(tài)來描述,這必然使得電路十分復(fù)雜,處理起來十分困難。采用二進(jìn)制使得物理機(jī)器可靠性高,由于僅有二種狀態(tài),那么用電壓的高低或電流的有無來描述都是用質(zhì)的變化來表示的,兩種狀態(tài)分明,處理起來簡單,并且抗干擾能力強(qiáng),鑒別信息的可靠性高。采用二進(jìn)制編碼不僅成功的運(yùn)用于數(shù)值信息編碼,而且適用于各種非數(shù)值信息的數(shù)字編碼。特別是二進(jìn)制數(shù)的兩個符號0和1,正好與邏輯命題兩個值“真”與“假”相對應(yīng),從而也為計算機(jī)實現(xiàn)邏輯判斷提供了方便。前言信息在計算機(jī)內(nèi)的表示2022/12/204計算機(jī)只認(rèn)識二進(jìn)制編碼形式的指令,2022/12/22482.1.1不同數(shù)制的表示*數(shù)制在數(shù)值計算中,一般采用的是進(jìn)位計數(shù),日常生活中我們采用的是十進(jìn)位計數(shù),而在計算機(jī)內(nèi)處理信息采用二進(jìn)位計數(shù)。在進(jìn)位計數(shù)的數(shù)字系統(tǒng)中,如果只用R個基本符號(如0,1,2····R)來表示數(shù)值,則稱其為“基R數(shù)制”。R稱為該數(shù)制的“基數(shù)”,而數(shù)值中每一固定位置對應(yīng)的單位稱為“權(quán)”。如十進(jìn)制數(shù),就是R=10,即基本符號為0,1,2·····8,9。如取R=2,即基本符號為0,1,則為二進(jìn)制數(shù)。進(jìn)位計數(shù)的編碼符合“逢R進(jìn)位”的規(guī)則。各位的權(quán)是以R為底的冪,一個數(shù)可按權(quán)展開成多項式。2.1進(jìn)位計數(shù)制2022/12/2052.1.1不同數(shù)制的表示2.1進(jìn)位2022/12/22492.1進(jìn)位計數(shù)制2022/12/2062.1進(jìn)位計數(shù)制2022/12/22502.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)位計數(shù)制(1)R進(jìn)制轉(zhuǎn)換為十進(jìn)制基數(shù)為R的數(shù)字,只要將各位數(shù)字與它的權(quán)相乘,然后將其按“逢十進(jìn)一”相加,其和就是一個十進(jìn)制數(shù)。2022/12/2072.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)位2022/12/2251(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制將十進(jìn)制轉(zhuǎn)換成R進(jìn)制時,將整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換,然后再將整數(shù)部分與小數(shù)部分轉(zhuǎn)換的結(jié)果相加起來。這里主要介紹十進(jìn)制轉(zhuǎn)換成二進(jìn)制。2.1進(jìn)位計數(shù)制2022/12/2082.1進(jìn)位計數(shù)制2022/12/2252(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制十進(jìn)制小數(shù)轉(zhuǎn)換成R進(jìn)制時,可連續(xù)地乘以R,直到小數(shù)部分為0,或達(dá)到所要求的精度為止(小數(shù)部分可能永遠(yuǎn)不為0)得到的整數(shù)即組成R進(jìn)制的小數(shù)部分,此法稱“乘R取整”。2.1進(jìn)位計數(shù)制2022/12/209(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制2.1進(jìn)位計2022/12/22532.1.2不同數(shù)制的轉(zhuǎn)換(3)二、八、十六進(jìn)制的相互轉(zhuǎn)換由于二位,八位,十六位這三種進(jìn)制數(shù)的權(quán)之間有一定的內(nèi)在聯(lián)系,即23=8、24=16,故其之間的轉(zhuǎn)換比較容易。即每一位八進(jìn)制數(shù)相當(dāng)于三位二進(jìn)制數(shù),每一位十六進(jìn)制數(shù)相當(dāng)于四位二進(jìn)制數(shù)。在由二進(jìn)制轉(zhuǎn)換為八進(jìn)制時,以小數(shù)點為中心向左右兩邊延伸,每三位為一組,中間的0不省,到了兩頭不夠一組時用0補(bǔ)足位數(shù),算出每一組相對應(yīng)的十進(jìn)制數(shù),然后將這些十進(jìn)制數(shù)組合起來就成了一個八進(jìn)制數(shù)。例:將(11101.00101)2轉(zhuǎn)換成八進(jìn)制數(shù)。2.1進(jìn)位計數(shù)制2022/12/20102.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)2022/12/22542.1.2不同數(shù)制的轉(zhuǎn)換(3)二、八、十六進(jìn)制的相互轉(zhuǎn)換2.1進(jìn)位計數(shù)制2022/12/20112.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)2022/12/22552.1進(jìn)位計數(shù)制2.1.3計算機(jī)運(yùn)算基礎(chǔ)一、算術(shù)運(yùn)算基礎(chǔ)計算機(jī)內(nèi)部的運(yùn)行采用的是二進(jìn)制數(shù),其基本的運(yùn)行就是算術(shù)運(yùn)算與邏輯運(yùn)算。二進(jìn)制數(shù)的算術(shù)運(yùn)算與十進(jìn)制數(shù)的算術(shù)運(yùn)算一樣,也包括加、減、乘、除四則運(yùn)算
1)二進(jìn)制的加法運(yùn)算二進(jìn)制數(shù)的加法運(yùn)算法則是:
1+1=0(采用逢二進(jìn)一的法則1+1=2則進(jìn)位,本位為0)
1+0=1
0+1=1
0+0=02022/12/20122.1進(jìn)位計數(shù)制2.1.3計算機(jī)2022/12/22562.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2)二進(jìn)制的減法運(yùn)算二進(jìn)制減法運(yùn)算法則:
0-0=0
1-1=0
1-0=1
0-1=1(被減數(shù)為0,減數(shù)為1,被減數(shù)向高位借位則本位余1)2022/12/20132.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22572.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)3)二進(jìn)制乘法二進(jìn)制乘法法則:
0×0=0
1×0=0
0×1=0
1×1=12022/12/20142.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22582.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)4)二進(jìn)制的除法運(yùn)算二進(jìn)制的除法運(yùn)算法則:
0/0=0
0/1=0
1/0=0(無意義)
1/1=12022/12/20152.1進(jìn)位計數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22592.1進(jìn)位計數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計算機(jī)信息的表示與存儲2022/12/20162.1進(jìn)位計數(shù)制第2章計算機(jī)信息2022/12/2260
在計算機(jī)內(nèi)部,計算機(jī)僅“認(rèn)識”兩個字—“0”和“1”,無論是處理數(shù)據(jù)、發(fā)出控制指令、數(shù)據(jù)存放的地址、還是通信時傳輸?shù)臄?shù)據(jù)都是二進(jìn)制數(shù)。同時計算機(jī)在進(jìn)行數(shù)字計算、處理字母符號、漢字、圖形、圖像、聲音都必須按一定的規(guī)則將其轉(zhuǎn)換成二進(jìn)制。這個規(guī)則就是編碼。
2.2數(shù)值編碼2022/12/20172.2數(shù)值編碼2022/12/2261
在計算機(jī)內(nèi),各種信息都是以二進(jìn)制碼形式來描述、存儲。存儲就有量的大小,信息存儲的單位就使用一些量來描述。①位(bit)位是度量數(shù)據(jù)的最小單位,表示一位二進(jìn)制信息。②字節(jié)(byte)我們前面介紹的存儲器的容量、硬盤的大小、內(nèi)存的大小、光盤的容量等都是以多少字節(jié)來表示的,常用的單位有:
B
1B=8bit
KB1KB=1024ByteMB1MB=1024KBGB1GB=1024MB
TB1TB=1024GB
字節(jié)是計算機(jī)中用來表示存儲空間大小的最基本的容量單位。2.2數(shù)值編碼2022/12/20182.2數(shù)值編碼2022/12/2262
數(shù)據(jù)在計算機(jī)中的表示(1)數(shù)值數(shù)值有大小及符號(正數(shù),負(fù)數(shù))。數(shù)在計算機(jī)的表示統(tǒng)稱為機(jī)器數(shù)。①數(shù)的符號數(shù)值化:通常把一個數(shù)的二進(jìn)制代碼的最高位定義為符號位,最高位為“0”表示該數(shù)為正數(shù),最高位為“1”表示該數(shù)為負(fù)數(shù),這一位稱為數(shù)符,其余位表示該數(shù)的絕對值。若一個數(shù)為八位,則最高位為數(shù)符,其余7位才表示該數(shù)的值。②定點數(shù):用來表示整數(shù)和純小數(shù),因此小數(shù)點約定在一個固定的位置上,不再占用一個數(shù)位。③機(jī)器數(shù)的表示范圍受到字長和數(shù)據(jù)類型的限制,例如,若表示一個整數(shù),字長為8位,最大值為127,若數(shù)值超過127,就要“溢出”。為了表示較大的或較小的數(shù),計算機(jī)采用浮點來表示,其中小數(shù)點在數(shù)中的位置是浮動的。2.2數(shù)值編碼2022/12/2019數(shù)據(jù)在計算機(jī)中的表示2.22022/12/22632.2.1帶符號數(shù)的表示方式從上面描述的機(jī)器數(shù)知道,機(jī)器數(shù)由數(shù)符和真值數(shù)兩部分組成,機(jī)器數(shù)在參加運(yùn)算時,若數(shù)符與真值數(shù)同時參加運(yùn)算,則會產(chǎn)生錯誤的結(jié)果,同時還要考慮計算后的符號問題。因此直接用機(jī)器數(shù)參與運(yùn)算,則增加計算機(jī)計算的難度。如+7加上-5應(yīng)為+2,但如果直接用二進(jìn)制數(shù)的加法運(yùn)算:
00000111+7機(jī)器數(shù)
+10000101-5機(jī)器數(shù)
10001100-12機(jī)器數(shù)如果不直接相加,就要考慮符號位的處理,則運(yùn)算會變得復(fù)雜。為了解決這類問題,在機(jī)器數(shù)中,負(fù)數(shù)有三種表示法:原碼、反碼、補(bǔ)碼!2.2數(shù)值編碼2022/12/20202.2.1帶符號數(shù)的表示方式2.22022/12/22642.2.1帶符號數(shù)的表示方式下面介紹原碼、反碼、補(bǔ)碼。為簡單起見,這兒以整數(shù)為例,并且假定字長為8位。
原碼:整數(shù)X的原碼,其符號位“0”表示正、“1”表示負(fù),其數(shù)值部分就是X絕對值的二進(jìn)制表示.通常用[X]原表示X的原碼.如:
[+2]原=00000010[-2]原=10000010在原碼中0有兩種表示:
[+0]原=00000000[-0]原=10000000原碼表示有三個主要特點:一是直觀,與真值轉(zhuǎn)換很方便;二是進(jìn)行乘、除運(yùn)算方便;三是加、減運(yùn)算比較麻煩。2.2數(shù)值編碼2022/12/20212.2.1帶符號數(shù)的表示方式2.22022/12/2265
反碼:整數(shù)X的反碼指:對于正數(shù),其反碼與原碼相同,對于負(fù)數(shù),符號位為1,其數(shù)值位X按位取反,通常用[X]反表示X的反碼。例:
[+2]反=00000010
[-2]反=11111101
0的反碼有兩種表示:[+0]反=00000000
[-0]反=11111111[+127]反=01111111[-127]反=10000000
2.2數(shù)值編碼2022/12/2022反碼:整數(shù)X的反碼指:對于正數(shù),2022/12/2266補(bǔ)碼:補(bǔ)碼的引進(jìn)和定義補(bǔ)碼的編碼規(guī)則如下:定義正數(shù)的補(bǔ)碼就是它本身,符號位取0,即和原碼相同。負(fù)數(shù)的補(bǔ)碼通過在其對應(yīng)的反碼最低位加1得到。
[+5]補(bǔ)=[+5]反=[+5]原=00000101
[-5]原=10000101[-5]反=11111010[-5]補(bǔ)=111110110的補(bǔ)碼如下所示:
[+0]補(bǔ)=[-0]補(bǔ)=
00000000
2.2數(shù)值編碼2022/12/2023補(bǔ)碼:補(bǔ)碼的引進(jìn)和定義2.2數(shù)值2022/12/2267補(bǔ)碼的性質(zhì):補(bǔ)碼的性質(zhì)主要有三條:①[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ),即兩數(shù)之和的補(bǔ)碼等于各自補(bǔ)碼的和。②[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ),即兩數(shù)之差的補(bǔ)碼等于被減數(shù)的補(bǔ)碼與減數(shù)相反數(shù)的補(bǔ)碼之和。③[[X]補(bǔ)]補(bǔ)=[X]原,即按求補(bǔ)的方法,對[X]補(bǔ)再求一次,結(jié)果等于[X]原。利用補(bǔ)碼進(jìn)行加、減運(yùn)算:引進(jìn)補(bǔ)碼的目的是方便帶符號數(shù)的加、減運(yùn)算,這里僅看一下加法,舉幾個例子。2.2數(shù)值編碼2022/12/2024補(bǔ)碼的性質(zhì):補(bǔ)碼的性質(zhì)主要有三條2022/12/2268
請注意:符號也參與運(yùn)算,符號位出現(xiàn)的進(jìn)位應(yīng)丟棄。下面是三個利用補(bǔ)碼求和的例子。這里假定機(jī)器數(shù)為8位。(1)兩個正數(shù)相加
x=(0111101)2y=(0100001)2
(x)補(bǔ)=00111101(y)補(bǔ)=00100001
(x)補(bǔ)+(y)補(bǔ)=00111101+00100001=01011110
(x+y)補(bǔ)=01011110=(x)補(bǔ)+(y)補(bǔ)
(2)兩個負(fù)數(shù)相加
x=(-0111101)2y=(-0100001)2
(x)補(bǔ)=11000011(y)補(bǔ)=11011111
(x)補(bǔ)+(y)補(bǔ)=11000011+11011111=10100010
(x+y)補(bǔ)=(-1011110)補(bǔ)=10100010=(x)補(bǔ)+(y)補(bǔ)2.2數(shù)值編碼2022/12/2025請注意:符號也參與運(yùn)算,符號位出2022/12/2269(3)正數(shù)x和負(fù)數(shù)y相加:
x=(3D)H=(0111101)2y=(-21)H=(-0100001)2
(x)補(bǔ)=00111101(y)補(bǔ)=11011111
(x)補(bǔ)+(y)補(bǔ)=00111101+11011111=00011100
(x+y)補(bǔ)=(0011100)補(bǔ)=00011100=(x)補(bǔ)+(y)補(bǔ)2.2數(shù)值編碼2022/12/2026(3)正數(shù)x和負(fù)數(shù)y相加:2.22022/12/2270
綜上所述:原碼定點整數(shù)的表示范圍為:-(2n-1)~(2n-1)補(bǔ)碼定點整數(shù)的表示范圍為:-2n
~(2n-1)
若機(jī)器字長有8位,則:原碼定點整數(shù)表示范圍為:-127~127補(bǔ)碼定點整數(shù)表示范圍為:-128~127011111110111111101111111100000001000000010000000§3數(shù)的定點表示與浮點表示0111111101111111011111111111111111111111111111112022/12/2027綜上所述:011111110112022/12/22712.2數(shù)值編碼溢出:當(dāng)運(yùn)算的結(jié)果超出某種數(shù)據(jù)類型所表示的數(shù)的范圍時,機(jī)器不能正確表示,這時要產(chǎn)生溢出。在溢出的情況下,機(jī)器將產(chǎn)生錯誤的結(jié)果。例如,X=-1000001(-65),Y=-1100000(-96),求X+Y。按上面補(bǔ)碼加法做,會得到和的補(bǔ)碼01011111,符號位為0,結(jié)果為一個正數(shù)。這顯然是錯誤的。究其原因,這兩個數(shù)的和為-161,已超過了8位數(shù)據(jù)補(bǔ)碼表示的范圍,出現(xiàn)溢出,因而導(dǎo)致了錯誤。避免溢出的一種有效方法是加寬數(shù)據(jù)的位數(shù)?,F(xiàn)代計算機(jī)的數(shù)據(jù)表示有多種類型。8位機(jī)的數(shù)據(jù)可以是8位,也可以是16位;16位機(jī)的數(shù)據(jù)可以是8位、16位、32位;32位機(jī)的數(shù)據(jù)可以是8位、16位、32位、64位等。2022/12/20282.2數(shù)值編碼溢出:當(dāng)運(yùn)算的結(jié)果超2022/12/22722.1進(jìn)位計數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計算機(jī)信息的表示與存儲2022/12/20292.1進(jìn)位計數(shù)制第2章計算機(jī)信息2022/12/2273*字符編碼
計算機(jī)需要處理的數(shù)據(jù)不僅包括數(shù)值數(shù)據(jù),而且還要處理大量非數(shù)值的符號數(shù)據(jù)。這些非數(shù)值的符號數(shù)據(jù)必須通過某種編碼形式用二進(jìn)制位0和1來表示,才能讓計算機(jī)對其進(jìn)行處理。這些文字信息的符號包括了西文字符(字母、數(shù)字、各種符號)和中文字符。
2.3字符的編碼2022/12/2030*字符編碼2.3字符的編碼2022/12/22742.3.1ASCII碼前面介紹了數(shù)值數(shù)據(jù)的編碼,這解決了計算機(jī)表示數(shù)值信息的問題,除了數(shù)值數(shù)據(jù)外,計算機(jī)還面臨要處理的就是字符、特別是英文字符以及各種標(biāo)點符號、運(yùn)算符等。這些都要轉(zhuǎn)換成二進(jìn)制編碼后才能在計算機(jī)內(nèi)部進(jìn)行處理,目前國際上通用的西文字符編碼就是所謂的ASCII碼(AmericanStandardCodeforInformationInterchange——美國國家信息交換代碼)。2.3字符的編碼2022/12/20312.3.1ASCII碼2.3字符2022/12/22752.3字符的編碼2022/12/20322.3字符的編碼2022/12/22762.3.2漢字的編碼漢字是一種象形文字,它的“意”都寓于其“形”和“音”中。如果直接向計算機(jī)輸入文字和語音雖然可以實現(xiàn),但遠(yuǎn)不理想,況且輸入裝置要做修改。而在計算機(jī)內(nèi)部直接處理、存儲文字的字形和語音就更加困難。故處理字符要進(jìn)行代碼化,西文拼音文字代碼化比較容易,而漢字由于種類繁多,其編碼比拼音文字難得多。漢字信息處理系統(tǒng)在處理漢字和詞語時,要進(jìn)行一系列的漢字代碼轉(zhuǎn)換。通過鍵盤或其他的輸入工具輸入漢字時,要按一定的編碼來進(jìn)行,這稱之為輸入碼,而在計算機(jī)內(nèi)部存儲、處理、傳輸漢字用的代碼稱為機(jī)內(nèi)碼。而要將漢字輸出,用打印機(jī)或顯示器輸出應(yīng)有一個字形碼。2.3字符的編碼2022/12/20332.3字符的編碼2022/12/2277
(1)輸入碼目前使用得最多的輸入設(shè)備就是西文標(biāo)準(zhǔn)鍵盤,這種鍵盤的設(shè)計沿用了西文打字機(jī)的排列。因而,西文的輸入十分方便,想輸入什么字符就按什么鍵。中文輸入為了能直接使用西文字符標(biāo)準(zhǔn)鍵盤,就不可能直接按某鍵了。中文的字?jǐn)?shù)繁多,字形復(fù)雜,字音多變。常用的漢字就有7000多個左右,因此要對漢字設(shè)計相應(yīng)的編碼,以便操作人員從鍵盤上輸入代表漢字的編碼。這些編碼由拉丁字母(如漢語拼音)、數(shù)字(區(qū)位碼)、或特殊符號(五筆字形)構(gòu)成,千變?nèi)f化。各種輸入方案就是以不同的符號系統(tǒng)來代表漢字進(jìn)行輸入的。目前使用得比較多有區(qū)位碼、五筆字形碼、拼音碼、自然碼、和智能ABC。漢字的編碼主要分為三類,數(shù)字編碼,拼音,字形碼。2.3字符的編碼2022/12/2034(1)輸入碼2.3字符的編碼2022/12/2278
(2)機(jī)內(nèi)碼機(jī)內(nèi)碼是計算機(jī)設(shè)備內(nèi)部對信息進(jìn)行處理、內(nèi)部存儲、傳輸所用的代碼。世界各大計算機(jī)公司一般均以ASCII碼為內(nèi)部碼來設(shè)計計算機(jī)系統(tǒng),西文計算機(jī)中沒有交換碼與機(jī)內(nèi)碼之分。而漢字?jǐn)?shù)量多,用一個字節(jié)無法區(qū)分,一般用2個字節(jié)來存放漢字的編碼。兩個字節(jié)共16位,可以表示216=65536個可區(qū)別的碼,如果兩個字節(jié)各用7位,則可表示214=16384個可區(qū)別的碼。一個碼代表一個漢字。一般來說,這已夠用了,現(xiàn)在我國的漢字信息系統(tǒng)一般都采用這種與ASCII碼相應(yīng)的8位碼方案,用2個8位構(gòu)成一個漢字機(jī)內(nèi)碼。
2.3字符的編碼2022/12/20352.3字符的編碼2022/12/2279
(2)機(jī)內(nèi)碼
1981年我國頒布了《通用漢字字符集(基本集)及其交換碼標(biāo)準(zhǔn)》(國家標(biāo)準(zhǔn)代號為GB2312-80)。這是漢字交換碼的國家標(biāo)準(zhǔn),所以又稱“國標(biāo)碼“。該標(biāo)準(zhǔn)收入了6763個常用漢字(其中一級漢字3735個,二級漢字3008個),以及英、俄、日文字與其它符號687
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二建建筑工程實務(wù)-2022年6月12日二級建造師《建設(shè)工程管理與實務(wù)》真題
- 法醫(yī)學(xué)試題庫(含答案)
- 人教版初中歷史與社會八年級上冊 2.2 阿拉伯帝國與伊斯蘭文明說課稿
- 2025政務(wù)服務(wù)中心工作計劃表格
- 2024年公務(wù)員考試邢臺市寧晉縣《行政職業(yè)能力測驗》高分沖刺試題含解析
- 2025年安全環(huán)保工作計劃
- 2025年春季九年級年級組工作計劃
- 2025年銷售助理年度計劃范文
- 2025年辦公室工作計劃范本
- 培訓(xùn)學(xué)校招生工作計劃范文(10篇)
- 舉辦活動的申請書范文
- 瑤醫(yī)目診圖-望面診病現(xiàn)用圖解-目診
- 2022年四級反射療法師考試題庫(含答案)
- 新《安全生產(chǎn)法》培訓(xùn)測試題
- 政務(wù)禮儀-PPT課件
- 特種涂料類型——耐核輻射涂料的研究
- 化工裝置常用英語詞匯對照
- 物資采購管理流程圖
- 無牙頜解剖標(biāo)志
- 標(biāo)準(zhǔn)《大跨徑混凝土橋梁的試驗方法》
- 格拉斯哥昏迷評分(GCS)--表格-改良自用
評論
0/150
提交評論