版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022/12/221
21世紀(jì)高等院校計(jì)算機(jī)基礎(chǔ)課程系列教材大學(xué)計(jì)算機(jī)基礎(chǔ)(第一版)
2022/12/201
21世紀(jì)高等院校計(jì)算機(jī)基礎(chǔ)課程系列教2022/12/222本章教學(xué)計(jì)劃
理論教學(xué)(課堂教學(xué)):2學(xué)時(shí)
實(shí)驗(yàn)教學(xué)(上機(jī)實(shí)習(xí)):0學(xué)時(shí)本章教學(xué)重點(diǎn)
1.數(shù)制及相互轉(zhuǎn)換
2.碼制及編碼
3.二進(jìn)制運(yùn)算
4.漢字信息處理第2章計(jì)算機(jī)信息的表示與存儲(chǔ)2022/12/202本章教學(xué)計(jì)劃理論教學(xué)(課堂教學(xué)):22022/12/2232.1進(jìn)位計(jì)數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計(jì)算機(jī)信息的表示與存儲(chǔ)2022/12/2032.1進(jìn)位計(jì)數(shù)制第2章計(jì)算機(jī)信息的2022/12/224計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制編碼形式的指令,因此字符、數(shù)字、聲音、圖像等信息都必須經(jīng)過某種方式轉(zhuǎn)換成二進(jìn)制的形式,才能提供給計(jì)算機(jī)進(jìn)行處理。在機(jī)器內(nèi)部,信息的表示依賴于機(jī)器硬件電路的狀態(tài),信息采用什么樣的表示形式,直接影響到計(jì)算機(jī)的質(zhì)量與性能。采用二進(jìn)制是由于這種編碼方式在物理上實(shí)現(xiàn)容易,二進(jìn)制僅有兩個(gè)狀態(tài)0與1,這正好與物理器件的兩種狀態(tài)相對(duì)應(yīng),如門電路的導(dǎo)通與截止、電壓信號(hà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ù)的兩個(gè)符號(hào)0和1,正好與邏輯命題兩個(gè)值“真”與“假”相對(duì)應(yīng),從而也為計(jì)算機(jī)實(shí)現(xiàn)邏輯判斷提供了方便。前言信息在計(jì)算機(jī)內(nèi)的表示2022/12/204計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制編碼形式的指令,2022/12/2252.1.1不同數(shù)制的表示*數(shù)制在數(shù)值計(jì)算中,一般采用的是進(jìn)位計(jì)數(shù),日常生活中我們采用的是十進(jìn)位計(jì)數(shù),而在計(jì)算機(jī)內(nèi)處理信息采用二進(jìn)位計(jì)數(shù)。在進(jìn)位計(jì)數(shù)的數(shù)字系統(tǒng)中,如果只用R個(gè)基本符號(hào)(如0,1,2····R)來表示數(shù)值,則稱其為“基R數(shù)制”。R稱為該數(shù)制的“基數(shù)”,而數(shù)值中每一固定位置對(duì)應(yīng)的單位稱為“權(quán)”。如十進(jìn)制數(shù),就是R=10,即基本符號(hào)為0,1,2·····8,9。如取R=2,即基本符號(hào)為0,1,則為二進(jìn)制數(shù)。進(jìn)位計(jì)數(shù)的編碼符合“逢R進(jìn)位”的規(guī)則。各位的權(quán)是以R為底的冪,一個(gè)數(shù)可按權(quán)展開成多項(xiàng)式。2.1進(jìn)位計(jì)數(shù)制2022/12/2052.1.1不同數(shù)制的表示2.1進(jìn)位2022/12/2262.1進(jìn)位計(jì)數(shù)制2022/12/2062.1進(jìn)位計(jì)數(shù)制2022/12/2272.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)位計(jì)數(shù)制(1)R進(jìn)制轉(zhuǎn)換為十進(jìn)制基數(shù)為R的數(shù)字,只要將各位數(shù)字與它的權(quán)相乘,然后將其按“逢十進(jìn)一”相加,其和就是一個(gè)十進(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ù)部分和小數(shù)部分分別轉(zhuǎn)換,然后再將整數(shù)部分與小數(shù)部分轉(zhuǎn)換的結(jié)果相加起來。這里主要介紹十進(jìn)制轉(zhuǎn)換成二進(jìn)制。2.1進(jìn)位計(jì)數(shù)制2022/12/2082.1進(jìn)位計(jì)數(shù)制2022/12/229(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制十進(jìn)制小數(shù)轉(zhuǎn)換成R進(jìn)制時(shí),可連續(xù)地乘以R,直到小數(shù)部分為0,或達(dá)到所要求的精度為止(小數(shù)部分可能永遠(yuǎn)不為0)得到的整數(shù)即組成R進(jìn)制的小數(shù)部分,此法稱“乘R取整”。2.1進(jìn)位計(jì)數(shù)制2022/12/209(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制2.1進(jìn)位計(jì)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í),以小數(shù)點(diǎn)為中心向左右兩邊延伸,每三位為一組,中間的0不省,到了兩頭不夠一組時(shí)用0補(bǔ)足位數(shù),算出每一組相對(duì)應(yīng)的十進(jìn)制數(shù),然后將這些十進(jìn)制數(shù)組合起來就成了一個(gè)八進(jìn)制數(shù)。例:將(11101.00101)2轉(zhuǎn)換成八進(jìn)制數(shù)。2.1進(jìn)位計(jì)數(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)位計(jì)數(shù)制2022/12/20112.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)2022/12/22122.1進(jìn)位計(jì)數(shù)制2.1.3計(jì)算機(jī)運(yùn)算基礎(chǔ)一、算術(shù)運(yùn)算基礎(chǔ)計(jì)算機(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)位計(jì)數(shù)制2.1.3計(jì)算機(jī)2022/12/22132.1進(jìn)位計(jì)數(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)位計(jì)數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22142.1進(jìn)位計(jì)數(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)位計(jì)數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22152.1進(jìn)位計(jì)數(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)位計(jì)數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22162.1進(jìn)位計(jì)數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計(jì)算機(jī)信息的表示與存儲(chǔ)2022/12/20162.1進(jìn)位計(jì)數(shù)制第2章計(jì)算機(jī)信息2022/12/2217
在計(jì)算機(jī)內(nèi)部,計(jì)算機(jī)僅“認(rèn)識(shí)”兩個(gè)字—“0”和“1”,無論是處理數(shù)據(jù)、發(fā)出控制指令、數(shù)據(jù)存放的地址、還是通信時(shí)傳輸?shù)臄?shù)據(jù)都是二進(jìn)制數(shù)。同時(shí)計(jì)算機(jī)在進(jìn)行數(shù)字計(jì)算、處理字母符號(hào)、漢字、圖形、圖像、聲音都必須按一定的規(guī)則將其轉(zhuǎn)換成二進(jìn)制。這個(gè)規(guī)則就是編碼。
2.2數(shù)值編碼2022/12/20172.2數(shù)值編碼2022/12/2218
在計(jì)算機(jī)內(nèi),各種信息都是以二進(jìn)制碼形式來描述、存儲(chǔ)。存儲(chǔ)就有量的大小,信息存儲(chǔ)的單位就使用一些量來描述。①位(bit)位是度量數(shù)據(jù)的最小單位,表示一位二進(jìn)制信息。②字節(jié)(byte)我們前面介紹的存儲(chǔ)器的容量、硬盤的大小、內(nèi)存的大小、光盤的容量等都是以多少字節(jié)來表示的,常用的單位有:
B
1B=8bit
KB1KB=1024ByteMB1MB=1024KBGB1GB=1024MB
TB1TB=1024GB
字節(jié)是計(jì)算機(jī)中用來表示存儲(chǔ)空間大小的最基本的容量單位。2.2數(shù)值編碼2022/12/20182.2數(shù)值編碼2022/12/2219
數(shù)據(jù)在計(jì)算機(jī)中的表示(1)數(shù)值數(shù)值有大小及符號(hào)(正數(shù),負(fù)數(shù))。數(shù)在計(jì)算機(jī)的表示統(tǒng)稱為機(jī)器數(shù)。①數(shù)的符號(hào)數(shù)值化:通常把一個(gè)數(shù)的二進(jìn)制代碼的最高位定義為符號(hào)位,最高位為“0”表示該數(shù)為正數(shù),最高位為“1”表示該數(shù)為負(fù)數(shù),這一位稱為數(shù)符,其余位表示該數(shù)的絕對(duì)值。若一個(gè)數(shù)為八位,則最高位為數(shù)符,其余7位才表示該數(shù)的值。②定點(diǎn)數(shù):用來表示整數(shù)和純小數(shù),因此小數(shù)點(diǎn)約定在一個(gè)固定的位置上,不再占用一個(gè)數(shù)位。③機(jī)器數(shù)的表示范圍受到字長和數(shù)據(jù)類型的限制,例如,若表示一個(gè)整數(shù),字長為8位,最大值為127,若數(shù)值超過127,就要“溢出”。為了表示較大的或較小的數(shù),計(jì)算機(jī)采用浮點(diǎn)來表示,其中小數(shù)點(diǎn)在數(shù)中的位置是浮動(dòng)的。2.2數(shù)值編碼2022/12/2019數(shù)據(jù)在計(jì)算機(jī)中的表示2.22022/12/22202.2.1帶符號(hào)數(shù)的表示方式從上面描述的機(jī)器數(shù)知道,機(jī)器數(shù)由數(shù)符和真值數(shù)兩部分組成,機(jī)器數(shù)在參加運(yùn)算時(shí),若數(shù)符與真值數(shù)同時(shí)參加運(yùn)算,則會(huì)產(chǎn)生錯(cuò)誤的結(jié)果,同時(shí)還要考慮計(jì)算后的符號(hào)問題。因此直接用機(jī)器數(shù)參與運(yùn)算,則增加計(jì)算機(jī)計(jì)算的難度。如+7加上-5應(yīng)為+2,但如果直接用二進(jìn)制數(shù)的加法運(yùn)算:
00000111+7機(jī)器數(shù)
+10000101-5機(jī)器數(shù)
10001100-12機(jī)器數(shù)如果不直接相加,就要考慮符號(hào)位的處理,則運(yùn)算會(huì)變得復(fù)雜。為了解決這類問題,在機(jī)器數(shù)中,負(fù)數(shù)有三種表示法:原碼、反碼、補(bǔ)碼!2.2數(shù)值編碼2022/12/20202.2.1帶符號(hào)數(shù)的表示方式2.22022/12/22212.2.1帶符號(hào)數(shù)的表示方式下面介紹原碼、反碼、補(bǔ)碼。為簡單起見,這兒以整數(shù)為例,并且假定字長為8位。
原碼:整數(shù)X的原碼,其符號(hào)位“0”表示正、“1”表示負(fù),其數(shù)值部分就是X絕對(duì)值的二進(jìn)制表示.通常用[X]原表示X的原碼.如:
[+2]原=00000010[-2]原=10000010在原碼中0有兩種表示:
[+0]原=00000000[-0]原=10000000原碼表示有三個(gè)主要特點(diǎn):一是直觀,與真值轉(zhuǎn)換很方便;二是進(jìn)行乘、除運(yùn)算方便;三是加、減運(yùn)算比較麻煩。2.2數(shù)值編碼2022/12/20212.2.1帶符號(hào)數(shù)的表示方式2.22022/12/2222
反碼:整數(shù)X的反碼指:對(duì)于正數(shù),其反碼與原碼相同,對(duì)于負(fù)數(shù),符號(hào)位為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的反碼指:對(duì)于正數(shù),2022/12/2223補(bǔ)碼:補(bǔ)碼的引進(jìn)和定義補(bǔ)碼的編碼規(guī)則如下:定義正數(shù)的補(bǔ)碼就是它本身,符號(hào)位取0,即和原碼相同。負(fù)數(shù)的補(bǔ)碼通過在其對(duì)應(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ǔ)的方法,對(duì)[X]補(bǔ)再求一次,結(jié)果等于[X]原。利用補(bǔ)碼進(jìn)行加、減運(yùn)算:引進(jìn)補(bǔ)碼的目的是方便帶符號(hào)數(shù)的加、減運(yùn)算,這里僅看一下加法,舉幾個(gè)例子。2.2數(shù)值編碼2022/12/2024補(bǔ)碼的性質(zhì):補(bǔ)碼的性質(zhì)主要有三條2022/12/2225
請(qǐng)注意:符號(hào)也參與運(yùn)算,符號(hào)位出現(xiàn)的進(jìn)位應(yīng)丟棄。下面是三個(gè)利用補(bǔ)碼求和的例子。這里假定機(jī)器數(shù)為8位。(1)兩個(gè)正數(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)兩個(gè)負(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請(qǐng)注意:符號(hào)也參與運(yùn)算,符號(hào)位出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
綜上所述:原碼定點(diǎn)整數(shù)的表示范圍為:-(2n-1)~(2n-1)補(bǔ)碼定點(diǎn)整數(shù)的表示范圍為:-2n
~(2n-1)
若機(jī)器字長有8位,則:原碼定點(diǎn)整數(shù)表示范圍為:-127~127補(bǔ)碼定點(diǎn)整數(shù)表示范圍為:-128~127011111110111111101111111100000001000000010000000§3數(shù)的定點(diǎn)表示與浮點(diǎn)表示0111111101111111011111111111111111111111111111112022/12/2027綜上所述:011111110112022/12/22282.2數(shù)值編碼溢出:當(dāng)運(yùn)算的結(jié)果超出某種數(shù)據(jù)類型所表示的數(shù)的范圍時(shí),機(jī)器不能正確表示,這時(shí)要產(chǎn)生溢出。在溢出的情況下,機(jī)器將產(chǎn)生錯(cuò)誤的結(jié)果。例如,X=-1000001(-65),Y=-1100000(-96),求X+Y。按上面補(bǔ)碼加法做,會(huì)得到和的補(bǔ)碼01011111,符號(hào)位為0,結(jié)果為一個(gè)正數(shù)。這顯然是錯(cuò)誤的。究其原因,這兩個(gè)數(shù)的和為-161,已超過了8位數(shù)據(jù)補(bǔ)碼表示的范圍,出現(xiàn)溢出,因而導(dǎo)致了錯(cuò)誤。避免溢出的一種有效方法是加寬數(shù)據(jù)的位數(shù)?,F(xiàn)代計(jì)算機(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)位計(jì)數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計(jì)算機(jī)信息的表示與存儲(chǔ)2022/12/20292.1進(jìn)位計(jì)數(shù)制第2章計(jì)算機(jī)信息2022/12/2230*字符編碼
計(jì)算機(jī)需要處理的數(shù)據(jù)不僅包括數(shù)值數(shù)據(jù),而且還要處理大量非數(shù)值的符號(hào)數(shù)據(jù)。這些非數(shù)值的符號(hào)數(shù)據(jù)必須通過某種編碼形式用二進(jìn)制位0和1來表示,才能讓計(jì)算機(jī)對(duì)其進(jìn)行處理。這些文字信息的符號(hào)包括了西文字符(字母、數(shù)字、各種符號(hào))和中文字符。
2.3字符的編碼2022/12/2030*字符編碼2.3字符的編碼2022/12/22312.3.1ASCII碼前面介紹了數(shù)值數(shù)據(jù)的編碼,這解決了計(jì)算機(jī)表示數(shù)值信息的問題,除了數(shù)值數(shù)據(jù)外,計(jì)算機(jī)還面臨要處理的就是字符、特別是英文字符以及各種標(biāo)點(diǎn)符號(hào)、運(yùn)算符等。這些都要轉(zhuǎn)換成二進(jìn)制編碼后才能在計(jì)算機(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ì)算機(jī)輸入文字和語音雖然可以實(shí)現(xiàn),但遠(yuǎn)不理想,況且輸入裝置要做修改。而在計(jì)算機(jī)內(nèi)部直接處理、存儲(chǔ)文字的字形和語音就更加困難。故處理字符要進(jìn)行代碼化,西文拼音文字代碼化比較容易,而漢字由于種類繁多,其編碼比拼音文字難得多。漢字信息處理系統(tǒng)在處理漢字和詞語時(shí),要進(jìn)行一系列的漢字代碼轉(zhuǎn)換。通過鍵盤或其他的輸入工具輸入漢字時(shí),要按一定的編碼來進(jìn)行,這稱之為輸入碼,而在計(jì)算機(jī)內(nèi)部存儲(chǔ)、處理、傳輸漢字用的代碼稱為機(jī)內(nèi)碼。而要將漢字輸出,用打印機(jī)或顯示器輸出應(yīng)有一個(gè)字形碼。2.3字符的編碼2022/12/20332.3字符的編碼2022/12/2234
(1)輸入碼目前使用得最多的輸入設(shè)備就是西文標(biāo)準(zhǔn)鍵盤,這種鍵盤的設(shè)計(jì)沿用了西文打字機(jī)的排列。因而,西文的輸入十分方便,想輸入什么字符就按什么鍵。中文輸入為了能直接使用西文字符標(biāo)準(zhǔn)鍵盤,就不可能直接按某鍵了。中文的字?jǐn)?shù)繁多,字形復(fù)雜,字音多變。常用的漢字就有7000多個(gè)左右,因此要對(duì)漢字設(shè)計(jì)相應(yīng)的編碼,以便操作人員從鍵盤上輸入代表漢字的編碼。這些編碼由拉丁字母(如漢語拼音)、數(shù)字(區(qū)位碼)、或特殊符號(hào)(五筆字形)構(gòu)成,千變?nèi)f化。各種輸入方案就是以不同的符號(hào)系統(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ì)算機(jī)設(shè)備內(nèi)部對(duì)信息進(jìn)行處理、內(nèi)部存儲(chǔ)、傳輸所用的代碼。世界各大計(jì)算機(jī)公司一般均以ASCII碼為內(nèi)部碼來設(shè)計(jì)計(jì)算機(jī)系統(tǒng),西文計(jì)算機(jī)中沒有交換碼與機(jī)內(nèi)碼之分。而漢字?jǐn)?shù)量多,用一個(gè)字節(jié)無法區(qū)分,一般用2個(gè)字節(jié)來存放漢字的編碼。兩個(gè)字節(jié)共16位,可以表示216=65536個(gè)可區(qū)別的碼,如果兩個(gè)字節(jié)各用7位,則可表示214=16384個(gè)可區(qū)別的碼。一個(gè)碼代表一個(gè)漢字。一般來說,這已夠用了,現(xiàn)在我國的漢字信息系統(tǒng)一般都采用這種與ASCII碼相應(yīng)的8位碼方案,用2個(gè)8位構(gòu)成一個(gè)漢字機(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)代號(hào)為GB2312-80)。這是漢字交換碼的國家標(biāo)準(zhǔn),所以又稱“國標(biāo)碼“。該標(biāo)準(zhǔn)收入了6763個(gè)常用漢字(其中一級(jí)漢字3735個(gè),二級(jí)漢字3008個(gè)),以及英、俄、日文字與其它符號(hào)687個(gè),共有7000多個(gè)符號(hào)。國標(biāo)碼規(guī)定每個(gè)字符由一個(gè)2字節(jié)代碼組成。每個(gè)字節(jié)的最高位恒為“0”,其余7位用于組成各種不同的碼值。兩個(gè)字節(jié)的代碼,共可表示128×128=16384個(gè)符號(hào),而國標(biāo)碼的基本集目前僅有7000多個(gè)符號(hào),所以足夠使用。計(jì)算機(jī)既要處理漢字,也要處理西文。為了實(shí)現(xiàn)中、西文兼容,通常利用字節(jié)的最高位來區(qū)分某個(gè)碼值是代表漢字或ASCII碼字符。具體的作法是,若最高位為“1”視為漢字符,最高位為“0”視為ASCII碼字符。所以漢字的機(jī)內(nèi)碼就在上述的國標(biāo)碼的基礎(chǔ)上,把2個(gè)字節(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ì)算機(jī)“識(shí)別”所用。而輸入碼是供用戶通過輸入裝置輸入時(shí)所用的編碼。如用某種編碼通過鍵盤輸入的漢字,鍵盤管理程序?qū)⑵滢D(zhuǎn)換為機(jī)內(nèi)碼輸入到計(jì)算機(jī)。供計(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個(gè)8位碼(四個(gè)字節(jié))來表示一個(gè)字符。我國相應(yīng)的國家標(biāo)準(zhǔn)為GB13000。2.3字符的編碼2022/12/2037(2)機(jī)內(nèi)碼2.3字符的編碼2022/12/2238(3)漢字字型碼在漢字輸出時(shí)用顯示器顯示,用打印機(jī)打印,這就需要用到漢字字型碼。漢字字型碼是漢字字型的字模數(shù)據(jù)。通常用點(diǎn)陣、矢量函數(shù)等方式來表示,用點(diǎn)陣表示字型時(shí),漢字字型碼就是這個(gè)漢字字型點(diǎn)陣的代碼。字型碼也稱字模碼,是用點(diǎn)陣表示的漢字字形代碼,它是漢字的輸出形式,根據(jù)輸出漢字要求不同,點(diǎn)陣的多少也不同。通常漢字顯示用16×16點(diǎn)陣,漢字打印可選用24×24、32×32、48×48等點(diǎn)陣,點(diǎn)數(shù)越多,打印的字體越美觀。但漢字庫占用的存儲(chǔ)空間也越大。如一個(gè)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ù)量極大,西文字母少。所以西文字符用一個(gè)字節(jié)來表示就足夠,而漢字只得采用雙字節(jié)來編碼。又因中文與西文在同一臺(tái)計(jì)算機(jī)中使用一個(gè)存儲(chǔ)器,導(dǎo)致機(jī)內(nèi)碼不同于國標(biāo)碼。兩者又共用一個(gè)鍵盤,使得漢字不得不實(shí)行編碼輸入。漢字庫占用的空間遠(yuǎn)比西文字庫大,因此漢字的處理較西文處理需要更多的時(shí)間與空間。2.3字符的編碼2022/12/2039無論是西文字符或者是中文字符,在2022/12/22402.3.3BCD碼
BCD碼就是十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)所使用的一種編碼方式。在日常生活、工作中,人們習(xí)慣于十進(jìn)制,而計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制,所以在計(jì)算機(jī)輸入與輸出時(shí),使用了一種稱之為BCD碼的編碼方法,將十進(jìn)制數(shù)轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的二進(jìn)制數(shù)或?qū)⒍M(jìn)制數(shù)轉(zhuǎn)換成人們習(xí)慣的十進(jìn)制。
BCD碼(BinaryCodedDecimal——二進(jìn)制編碼的十進(jìn)制數(shù))也稱8421碼,10個(gè)十進(jìn)制數(shù)字對(duì)應(yīng)的BCD碼見表1.2所示,BCD碼在形式上是由1和0組成的二進(jìn)制數(shù)的形式,實(shí)質(zhì)上它表示的是十進(jìn)制數(shù),它的計(jì)算方式是用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
如果將之看成為一個(gè)二進(jìn)制數(shù),則對(duì)應(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ù),則對(duì)應(yīng)的十進(jìn)制數(shù)為;(01100101)2=(65)10
65
即BCD碼的二進(jìn)制數(shù)每四位對(duì)應(yīng)一個(gè)十進(jìn)制數(shù)字來組成一個(gè)十進(jìn)制數(shù)。2.3字符的編碼2022/12/20422.3.3BCD碼2.3字符的2022/12/2243下課2022/12/2043下課2022/12/2244
21世紀(jì)高等院校計(jì)算機(jī)基礎(chǔ)課程系列教材大學(xué)計(jì)算機(jī)基礎(chǔ)(第一版)
2022/12/201
21世紀(jì)高等院校計(jì)算機(jī)基礎(chǔ)課程系列教2022/12/2245本章教學(xué)計(jì)劃
理論教學(xué)(課堂教學(xué)):2學(xué)時(shí)
實(shí)驗(yàn)教學(xué)(上機(jī)實(shí)習(xí)):0學(xué)時(shí)本章教學(xué)重點(diǎn)
1.數(shù)制及相互轉(zhuǎn)換
2.碼制及編碼
3.二進(jìn)制運(yùn)算
4.漢字信息處理第2章計(jì)算機(jī)信息的表示與存儲(chǔ)2022/12/202本章教學(xué)計(jì)劃理論教學(xué)(課堂教學(xué)):22022/12/22462.1進(jìn)位計(jì)數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計(jì)算機(jī)信息的表示與存儲(chǔ)2022/12/2032.1進(jìn)位計(jì)數(shù)制第2章計(jì)算機(jī)信息的2022/12/2247計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制編碼形式的指令,因此字符、數(shù)字、聲音、圖像等信息都必須經(jīng)過某種方式轉(zhuǎn)換成二進(jìn)制的形式,才能提供給計(jì)算機(jī)進(jìn)行處理。在機(jī)器內(nèi)部,信息的表示依賴于機(jī)器硬件電路的狀態(tài),信息采用什么樣的表示形式,直接影響到計(jì)算機(jī)的質(zhì)量與性能。采用二進(jìn)制是由于這種編碼方式在物理上實(shí)現(xiàn)容易,二進(jìn)制僅有兩個(gè)狀態(tài)0與1,這正好與物理器件的兩種狀態(tài)相對(duì)應(yīng),如門電路的導(dǎo)通與截止、電壓信號(hà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ù)的兩個(gè)符號(hào)0和1,正好與邏輯命題兩個(gè)值“真”與“假”相對(duì)應(yīng),從而也為計(jì)算機(jī)實(shí)現(xiàn)邏輯判斷提供了方便。前言信息在計(jì)算機(jī)內(nèi)的表示2022/12/204計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制編碼形式的指令,2022/12/22482.1.1不同數(shù)制的表示*數(shù)制在數(shù)值計(jì)算中,一般采用的是進(jìn)位計(jì)數(shù),日常生活中我們采用的是十進(jìn)位計(jì)數(shù),而在計(jì)算機(jī)內(nèi)處理信息采用二進(jìn)位計(jì)數(shù)。在進(jìn)位計(jì)數(shù)的數(shù)字系統(tǒng)中,如果只用R個(gè)基本符號(hào)(如0,1,2····R)來表示數(shù)值,則稱其為“基R數(shù)制”。R稱為該數(shù)制的“基數(shù)”,而數(shù)值中每一固定位置對(duì)應(yīng)的單位稱為“權(quán)”。如十進(jìn)制數(shù),就是R=10,即基本符號(hào)為0,1,2·····8,9。如取R=2,即基本符號(hào)為0,1,則為二進(jìn)制數(shù)。進(jìn)位計(jì)數(shù)的編碼符合“逢R進(jìn)位”的規(guī)則。各位的權(quán)是以R為底的冪,一個(gè)數(shù)可按權(quán)展開成多項(xiàng)式。2.1進(jìn)位計(jì)數(shù)制2022/12/2052.1.1不同數(shù)制的表示2.1進(jìn)位2022/12/22492.1進(jìn)位計(jì)數(shù)制2022/12/2062.1進(jìn)位計(jì)數(shù)制2022/12/22502.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)位計(jì)數(shù)制(1)R進(jìn)制轉(zhuǎn)換為十進(jìn)制基數(shù)為R的數(shù)字,只要將各位數(shù)字與它的權(quán)相乘,然后將其按“逢十進(jìn)一”相加,其和就是一個(gè)十進(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ù)部分和小數(shù)部分分別轉(zhuǎn)換,然后再將整數(shù)部分與小數(shù)部分轉(zhuǎn)換的結(jié)果相加起來。這里主要介紹十進(jìn)制轉(zhuǎn)換成二進(jìn)制。2.1進(jìn)位計(jì)數(shù)制2022/12/2082.1進(jìn)位計(jì)數(shù)制2022/12/2252(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制十進(jìn)制小數(shù)轉(zhuǎn)換成R進(jìn)制時(shí),可連續(xù)地乘以R,直到小數(shù)部分為0,或達(dá)到所要求的精度為止(小數(shù)部分可能永遠(yuǎn)不為0)得到的整數(shù)即組成R進(jìn)制的小數(shù)部分,此法稱“乘R取整”。2.1進(jìn)位計(jì)數(shù)制2022/12/209(2)十進(jìn)制轉(zhuǎn)換成R進(jìn)制2.1進(jìn)位計(jì)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í),以小數(shù)點(diǎn)為中心向左右兩邊延伸,每三位為一組,中間的0不省,到了兩頭不夠一組時(shí)用0補(bǔ)足位數(shù),算出每一組相對(duì)應(yīng)的十進(jìn)制數(shù),然后將這些十進(jìn)制數(shù)組合起來就成了一個(gè)八進(jìn)制數(shù)。例:將(11101.00101)2轉(zhuǎn)換成八進(jìn)制數(shù)。2.1進(jìn)位計(jì)數(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)位計(jì)數(shù)制2022/12/20112.1.2不同數(shù)制的轉(zhuǎn)換2.1進(jìn)2022/12/22552.1進(jìn)位計(jì)數(shù)制2.1.3計(jì)算機(jī)運(yùn)算基礎(chǔ)一、算術(shù)運(yùn)算基礎(chǔ)計(jì)算機(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)位計(jì)數(shù)制2.1.3計(jì)算機(jī)2022/12/22562.1進(jìn)位計(jì)數(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)位計(jì)數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22572.1進(jìn)位計(jì)數(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)位計(jì)數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22582.1進(jìn)位計(jì)數(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)位計(jì)數(shù)制一、算術(shù)運(yùn)算基礎(chǔ)2022/12/22592.1進(jìn)位計(jì)數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計(jì)算機(jī)信息的表示與存儲(chǔ)2022/12/20162.1進(jìn)位計(jì)數(shù)制第2章計(jì)算機(jī)信息2022/12/2260
在計(jì)算機(jī)內(nèi)部,計(jì)算機(jī)僅“認(rèn)識(shí)”兩個(gè)字—“0”和“1”,無論是處理數(shù)據(jù)、發(fā)出控制指令、數(shù)據(jù)存放的地址、還是通信時(shí)傳輸?shù)臄?shù)據(jù)都是二進(jìn)制數(shù)。同時(shí)計(jì)算機(jī)在進(jìn)行數(shù)字計(jì)算、處理字母符號(hào)、漢字、圖形、圖像、聲音都必須按一定的規(guī)則將其轉(zhuǎn)換成二進(jìn)制。這個(gè)規(guī)則就是編碼。
2.2數(shù)值編碼2022/12/20172.2數(shù)值編碼2022/12/2261
在計(jì)算機(jī)內(nèi),各種信息都是以二進(jìn)制碼形式來描述、存儲(chǔ)。存儲(chǔ)就有量的大小,信息存儲(chǔ)的單位就使用一些量來描述。①位(bit)位是度量數(shù)據(jù)的最小單位,表示一位二進(jìn)制信息。②字節(jié)(byte)我們前面介紹的存儲(chǔ)器的容量、硬盤的大小、內(nèi)存的大小、光盤的容量等都是以多少字節(jié)來表示的,常用的單位有:
B
1B=8bit
KB1KB=1024ByteMB1MB=1024KBGB1GB=1024MB
TB1TB=1024GB
字節(jié)是計(jì)算機(jī)中用來表示存儲(chǔ)空間大小的最基本的容量單位。2.2數(shù)值編碼2022/12/20182.2數(shù)值編碼2022/12/2262
數(shù)據(jù)在計(jì)算機(jī)中的表示(1)數(shù)值數(shù)值有大小及符號(hào)(正數(shù),負(fù)數(shù))。數(shù)在計(jì)算機(jī)的表示統(tǒng)稱為機(jī)器數(shù)。①數(shù)的符號(hào)數(shù)值化:通常把一個(gè)數(shù)的二進(jìn)制代碼的最高位定義為符號(hào)位,最高位為“0”表示該數(shù)為正數(shù),最高位為“1”表示該數(shù)為負(fù)數(shù),這一位稱為數(shù)符,其余位表示該數(shù)的絕對(duì)值。若一個(gè)數(shù)為八位,則最高位為數(shù)符,其余7位才表示該數(shù)的值。②定點(diǎn)數(shù):用來表示整數(shù)和純小數(shù),因此小數(shù)點(diǎn)約定在一個(gè)固定的位置上,不再占用一個(gè)數(shù)位。③機(jī)器數(shù)的表示范圍受到字長和數(shù)據(jù)類型的限制,例如,若表示一個(gè)整數(shù),字長為8位,最大值為127,若數(shù)值超過127,就要“溢出”。為了表示較大的或較小的數(shù),計(jì)算機(jī)采用浮點(diǎn)來表示,其中小數(shù)點(diǎn)在數(shù)中的位置是浮動(dòng)的。2.2數(shù)值編碼2022/12/2019數(shù)據(jù)在計(jì)算機(jī)中的表示2.22022/12/22632.2.1帶符號(hào)數(shù)的表示方式從上面描述的機(jī)器數(shù)知道,機(jī)器數(shù)由數(shù)符和真值數(shù)兩部分組成,機(jī)器數(shù)在參加運(yùn)算時(shí),若數(shù)符與真值數(shù)同時(shí)參加運(yùn)算,則會(huì)產(chǎn)生錯(cuò)誤的結(jié)果,同時(shí)還要考慮計(jì)算后的符號(hào)問題。因此直接用機(jī)器數(shù)參與運(yùn)算,則增加計(jì)算機(jī)計(jì)算的難度。如+7加上-5應(yīng)為+2,但如果直接用二進(jìn)制數(shù)的加法運(yùn)算:
00000111+7機(jī)器數(shù)
+10000101-5機(jī)器數(shù)
10001100-12機(jī)器數(shù)如果不直接相加,就要考慮符號(hào)位的處理,則運(yùn)算會(huì)變得復(fù)雜。為了解決這類問題,在機(jī)器數(shù)中,負(fù)數(shù)有三種表示法:原碼、反碼、補(bǔ)碼!2.2數(shù)值編碼2022/12/20202.2.1帶符號(hào)數(shù)的表示方式2.22022/12/22642.2.1帶符號(hào)數(shù)的表示方式下面介紹原碼、反碼、補(bǔ)碼。為簡單起見,這兒以整數(shù)為例,并且假定字長為8位。
原碼:整數(shù)X的原碼,其符號(hào)位“0”表示正、“1”表示負(fù),其數(shù)值部分就是X絕對(duì)值的二進(jìn)制表示.通常用[X]原表示X的原碼.如:
[+2]原=00000010[-2]原=10000010在原碼中0有兩種表示:
[+0]原=00000000[-0]原=10000000原碼表示有三個(gè)主要特點(diǎn):一是直觀,與真值轉(zhuǎn)換很方便;二是進(jìn)行乘、除運(yùn)算方便;三是加、減運(yùn)算比較麻煩。2.2數(shù)值編碼2022/12/20212.2.1帶符號(hào)數(shù)的表示方式2.22022/12/2265
反碼:整數(shù)X的反碼指:對(duì)于正數(shù),其反碼與原碼相同,對(duì)于負(fù)數(shù),符號(hào)位為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的反碼指:對(duì)于正數(shù),2022/12/2266補(bǔ)碼:補(bǔ)碼的引進(jìn)和定義補(bǔ)碼的編碼規(guī)則如下:定義正數(shù)的補(bǔ)碼就是它本身,符號(hào)位取0,即和原碼相同。負(fù)數(shù)的補(bǔ)碼通過在其對(duì)應(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ǔ)的方法,對(duì)[X]補(bǔ)再求一次,結(jié)果等于[X]原。利用補(bǔ)碼進(jìn)行加、減運(yùn)算:引進(jìn)補(bǔ)碼的目的是方便帶符號(hào)數(shù)的加、減運(yùn)算,這里僅看一下加法,舉幾個(gè)例子。2.2數(shù)值編碼2022/12/2024補(bǔ)碼的性質(zhì):補(bǔ)碼的性質(zhì)主要有三條2022/12/2268
請(qǐng)注意:符號(hào)也參與運(yùn)算,符號(hào)位出現(xiàn)的進(jìn)位應(yīng)丟棄。下面是三個(gè)利用補(bǔ)碼求和的例子。這里假定機(jī)器數(shù)為8位。(1)兩個(gè)正數(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)兩個(gè)負(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請(qǐng)注意:符號(hào)也參與運(yùn)算,符號(hào)位出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
綜上所述:原碼定點(diǎn)整數(shù)的表示范圍為:-(2n-1)~(2n-1)補(bǔ)碼定點(diǎn)整數(shù)的表示范圍為:-2n
~(2n-1)
若機(jī)器字長有8位,則:原碼定點(diǎn)整數(shù)表示范圍為:-127~127補(bǔ)碼定點(diǎn)整數(shù)表示范圍為:-128~127011111110111111101111111100000001000000010000000§3數(shù)的定點(diǎn)表示與浮點(diǎn)表示0111111101111111011111111111111111111111111111112022/12/2027綜上所述:011111110112022/12/22712.2數(shù)值編碼溢出:當(dāng)運(yùn)算的結(jié)果超出某種數(shù)據(jù)類型所表示的數(shù)的范圍時(shí),機(jī)器不能正確表示,這時(shí)要產(chǎn)生溢出。在溢出的情況下,機(jī)器將產(chǎn)生錯(cuò)誤的結(jié)果。例如,X=-1000001(-65),Y=-1100000(-96),求X+Y。按上面補(bǔ)碼加法做,會(huì)得到和的補(bǔ)碼01011111,符號(hào)位為0,結(jié)果為一個(gè)正數(shù)。這顯然是錯(cuò)誤的。究其原因,這兩個(gè)數(shù)的和為-161,已超過了8位數(shù)據(jù)補(bǔ)碼表示的范圍,出現(xiàn)溢出,因而導(dǎo)致了錯(cuò)誤。避免溢出的一種有效方法是加寬數(shù)據(jù)的位數(shù)。現(xiàn)代計(jì)算機(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)位計(jì)數(shù)制2.2數(shù)值編碼2.3字符的編碼第2章計(jì)算機(jī)信息的表示與存儲(chǔ)2022/12/20292.1進(jìn)位計(jì)數(shù)制第2章計(jì)算機(jī)信息2022/12/2273*字符編碼
計(jì)算機(jī)需要處理的數(shù)據(jù)不僅包括數(shù)值數(shù)據(jù),而且還要處理大量非數(shù)值的符號(hào)數(shù)據(jù)。這些非數(shù)值的符號(hào)數(shù)據(jù)必須通過某種編碼形式用二進(jìn)制位0和1來表示,才能讓計(jì)算機(jī)對(duì)其進(jìn)行處理。這些文字信息的符號(hào)包括了西文字符(字母、數(shù)字、各種符號(hào))和中文字符。
2.3字符的編碼2022/12/2030*字符編碼2.3字符的編碼2022/12/22742.3.1ASCII碼前面介紹了數(shù)值數(shù)據(jù)的編碼,這解決了計(jì)算機(jī)表示數(shù)值信息的問題,除了數(shù)值數(shù)據(jù)外,計(jì)算機(jī)還面臨要處理的就是字符、特別是英文字符以及各種標(biāo)點(diǎn)符號(hào)、運(yùn)算符等。這些都要轉(zhuǎn)換成二進(jìn)制編碼后才能在計(jì)算機(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ì)算機(jī)輸入文字和語音雖然可以實(shí)現(xiàn),但遠(yuǎn)不理想,況且輸入裝置要做修改。而在計(jì)算機(jī)內(nèi)部直接處理、存儲(chǔ)文字的字形和語音就更加困難。故處理字符要進(jìn)行代碼化,西文拼音文字代碼化比較容易,而漢字由于種類繁多,其編碼比拼音文字難得多。漢字信息處理系統(tǒng)在處理漢字和詞語時(shí),要進(jìn)行一系列的漢字代碼轉(zhuǎn)換。通過鍵盤或其他的輸入工具輸入漢字時(shí),要按一定的編碼來進(jìn)行,這稱之為輸入碼,而在計(jì)算機(jī)內(nèi)部存儲(chǔ)、處理、傳輸漢字用的代碼稱為機(jī)內(nèi)碼。而要將漢字輸出,用打印機(jī)或顯示器輸出應(yīng)有一個(gè)字形碼。2.3字符的編碼2022/12/20332.3字符的編碼2022/12/2277
(1)輸入碼目前使用得最多的輸入設(shè)備就是西文標(biāo)準(zhǔn)鍵盤,這種鍵盤的設(shè)計(jì)沿用了西文打字機(jī)的排列。因而,西文的輸入十分方便,想輸入什么字符就按什么鍵。中文輸入為了能直接使用西文字符標(biāo)準(zhǔn)鍵盤,就不可能直接按某鍵了。中文的字?jǐn)?shù)繁多,字形復(fù)雜,字音多變。常用的漢字就有7000多個(gè)左右,因此要對(duì)漢字設(shè)計(jì)相應(yīng)的編碼,以便操作人員從鍵盤上輸入代表漢字的編碼。這些編碼由拉丁字母(如漢語拼音)、數(shù)字(區(qū)位碼)、或特殊符號(hào)(五筆字形)構(gòu)成,千變?nèi)f化。各種輸入方案就是以不同的符號(hào)系統(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ì)算機(jī)設(shè)備內(nèi)部對(duì)信息進(jìn)行處理、內(nèi)部存儲(chǔ)、傳輸所用的代碼。世界各大計(jì)算機(jī)公司一般均以ASCII碼為內(nèi)部碼來設(shè)計(jì)計(jì)算機(jī)系統(tǒng),西文計(jì)算機(jī)中沒有交換碼與機(jī)內(nèi)碼之分。而漢字?jǐn)?shù)量多,用一個(gè)字節(jié)無法區(qū)分,一般用2個(gè)字節(jié)來存放漢字的編碼。兩個(gè)字節(jié)共16位,可以表示216=65536個(gè)可區(qū)別的碼,如果兩個(gè)字節(jié)各用7位,則可表示214=16384個(gè)可區(qū)別的碼。一個(gè)碼代表一個(gè)漢字。一般來說,這已夠用了,現(xiàn)在我國的漢字信息系統(tǒng)一般都采用這種與ASCII碼相應(yīng)的8位碼方案,用2個(gè)8位構(gòu)成一個(gè)漢字機(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)代號(hào)為GB2312-80)。這是漢字交換碼的國家標(biāo)準(zhǔn),所以又稱“國標(biāo)碼“。該標(biāo)準(zhǔn)收入了6763個(gè)常用漢字(其中一級(jí)漢字3735個(gè),二級(jí)漢字3008個(gè)),以及英、俄、日文字與其它符號(hào)687
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廚衛(wèi)家電項(xiàng)目備案申請(qǐng)報(bào)告可行性研究報(bào)告
- 2025年度個(gè)人別墅防水防霉處理合同范本4篇
- 2025年無紡環(huán)保袋定制及環(huán)保理念推廣合同3篇
- 《全球物流巨頭運(yùn)營策略》課件
- 2025年綠色建筑用地土地平整及配套基礎(chǔ)設(shè)施建設(shè)合同3篇
- 2025年國家管網(wǎng)集團(tuán)西氣東輸公司招聘筆試參考題庫含答案解析
- 二零二五年度明光幼兒園食堂改造與后勤服務(wù)提升合同4篇
- 2025年浙江永嘉投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 二零二五版二手房買賣合同中的違約賠償標(biāo)準(zhǔn)約定3篇
- 2025年安徽宿州市城市建設(shè)投資集團(tuán)控股有限公司招聘筆試參考題庫附帶答案詳解
- 帶狀皰疹護(hù)理查房課件整理
- 年月江西省南昌市某綜合樓工程造價(jià)指標(biāo)及
- 奧氏體型不銹鋼-敏化處理
- 作物栽培學(xué)課件棉花
- 交通信號(hào)控制系統(tǒng)檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- 弱電施工驗(yàn)收表模板
- 絕對(duì)成交課件
- 探究基坑PC工法組合鋼管樁關(guān)鍵施工技術(shù)
- 國名、語言、人民、首都英文-及各地區(qū)國家英文名
- API SPEC 5DP-2020鉆桿規(guī)范
- 組合式塔吊基礎(chǔ)施工專項(xiàng)方案(117頁)
評(píng)論
0/150
提交評(píng)論