第3章信息在計(jì)算機(jī)中的表示-二版_第1頁(yè)
第3章信息在計(jì)算機(jī)中的表示-二版_第2頁(yè)
第3章信息在計(jì)算機(jī)中的表示-二版_第3頁(yè)
第3章信息在計(jì)算機(jī)中的表示-二版_第4頁(yè)
第3章信息在計(jì)算機(jī)中的表示-二版_第5頁(yè)
已閱讀5頁(yè),還剩75頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章信息在計(jì)算機(jī)中的表示引言計(jì)算機(jī)本質(zhì)上是以0和1為基礎(chǔ)來(lái)實(shí)現(xiàn)的0和1可將各種運(yùn)算轉(zhuǎn)換成邏輯運(yùn)算來(lái)實(shí)現(xiàn),邏輯運(yùn)算又可由晶體管等元器件來(lái)實(shí)現(xiàn),進(jìn)而組成邏輯門電路,再構(gòu)造復(fù)雜的電路,由硬件實(shí)現(xiàn)計(jì)算機(jī)的復(fù)雜功能。由軟件到硬件的紐帶是0和1。0和1是各種計(jì)算自動(dòng)化的基礎(chǔ)。0和1的思維體現(xiàn)了語(yǔ)義符號(hào)化、符號(hào)計(jì)算化、計(jì)算0/1化、0/1自動(dòng)化等思維,它是一種重要的計(jì)算思維。第3章信息在計(jì)算機(jī)中的表示3.10/1與邏輯3.10/1與邏輯所謂邏輯是指事物因果之間所遵循的規(guī)律,是人的一種抽象思維,是人通過(guò)概念、判斷、推理、論證來(lái)理解和區(qū)分客觀世界的思維過(guò)程。邏輯的表達(dá)形式是命題與推理命題由語(yǔ)句表述,是語(yǔ)句的含義推理是對(duì)語(yǔ)句表達(dá)內(nèi)容為真或假的一個(gè)判斷。3.10/1與邏輯例如:命題1:小明是計(jì)算機(jī)學(xué)院的學(xué)生命題2:小明是男生命題3:小明是計(jì)算機(jī)學(xué)院的學(xué)生并且小明是男生。推理就是依據(jù)簡(jiǎn)單命題的判斷,推導(dǎo)得出復(fù)雜命題的判斷結(jié)論的過(guò)程。命題和推理是可以符號(hào)化的。例如,命題1用符號(hào)X表示,命題2用符號(hào)Y表示,X和Y為2個(gè)基本命題,則命題3便是一個(gè)復(fù)雜的命題,用符號(hào)Z表示。則Z=XANDY。其中AND為一種邏輯“與”運(yùn)算。3.10/1與邏輯復(fù)雜命題的推理可被認(rèn)為是關(guān)于命題的一組邏輯運(yùn)算的過(guò)程?;镜倪壿嬤\(yùn)算包括“與”運(yùn)算、“或”運(yùn)算和“非”運(yùn)算等。(1)“與”運(yùn)算(AND):當(dāng)X和Y都為真時(shí),XANDY為真;其它情況,XANDY都為假。(2)“或”運(yùn)算(OR):當(dāng)X和Y都為假時(shí),XORY為假;其它情況,XORY都為真。(3)“非”運(yùn)算(NOT):當(dāng)X為真時(shí),NOTX為假;當(dāng)X為假時(shí),NOTX為真。3.10/1與邏輯利用基本邏輯運(yùn)算“與”“或”“非”等可以組合出復(fù)合邏輯運(yùn)算,如“與非”“或非”“與或非”“異或”“同或”等。例如,對(duì)“異或”運(yùn)算(XOR),當(dāng)X和Y都為真或都為假時(shí),XXORY為假,否則XXORY為真。該運(yùn)算可以由以下基本運(yùn)算來(lái)實(shí)現(xiàn):X

XORY=((NOTX)ANDY)OR(XAND(NOTY))3.10/1與邏輯再舉一個(gè)推理的示例。在一次學(xué)生測(cè)驗(yàn)中,有三位老師做了預(yù)測(cè):A.學(xué)習(xí)委員及格;B.有人不及格;C.全班都不及格。在考試后證明只有一位老師的預(yù)測(cè)是對(duì)的,請(qǐng)問(wèn)誰(shuí)對(duì)誰(shuí)錯(cuò)?3.10/1與邏輯A.學(xué)習(xí)委員及格;B.有人不及格;C.全班都不及格。從三個(gè)命題的關(guān)系中,可以獲得如下命題(結(jié)果肯定是確定的):(1)如果A為真,則C為假;如果C為真,則A為假;二者有一個(gè)成立。(2)如果B為真,則A和C可能有一個(gè)為真,這與只有1個(gè)命題為真矛盾。(3)如果B為假,則C為“假”。由上述推斷:A為真。上述示例也可以進(jìn)行符號(hào)化求解,其過(guò)程如下。已知:((AAND(NOTC))OR((NOTA)ANDC))為真(NOTB)AND((AAND(NOTC))OR((NOTA)ANDC))為真而組合A、B、C形成所有可能的解為:(A為真,B為假,C為假)(A為假,B為真,C為假)(A為假,B為假,C為真)。將三種可能解分別代入已知條件,能夠滿足所有已知條件的解就是(A為真,B為假,C為假)。3.10/1與邏輯現(xiàn)實(shí)中的命題判斷與推理(真/假)可以由0和1來(lái)表達(dá)和處理,如用0表示假,1表示真,則上述邏輯運(yùn)算就轉(zhuǎn)變成了0和1之間的邏輯運(yùn)算。第3章信息在計(jì)算機(jī)中的表示3.20/1與電子元器件3.20/1與電子元器件基本的邏輯運(yùn)算可以由開(kāi)關(guān)及其電路連接來(lái)實(shí)現(xiàn)。第3章信息在計(jì)算機(jī)中的表示3.20/1與電子元器件3.20/1與電子元器件有了與門、或門和非門等門電路后,便可以利用這些門電路構(gòu)造更為復(fù)雜的電路來(lái)實(shí)現(xiàn)各種邏輯和算術(shù)運(yùn)算。還可以用兩個(gè)異或門、一個(gè)與或非門和一個(gè)非門構(gòu)造一個(gè)一位的加法器,將多個(gè)一位加法器連接起來(lái)變可以構(gòu)成一個(gè)多位加法器。計(jì)算機(jī)的核心部件CPU便是由很多這樣的門電路組合而成的。從而可以進(jìn)行算術(shù)與邏輯運(yùn)算,并產(chǎn)生各種控制信號(hào)控制各部件工作。3.20/1與電子元器件因此,計(jì)算機(jī)之所以青睞二進(jìn)制是因?yàn)椋海?)電路容易實(shí)現(xiàn)電路只要能識(shí)別低、高就可以表示0和1。

(2)物理上最易實(shí)現(xiàn)存儲(chǔ)。只需要通過(guò)磁極的取向、表面的凹凸、光照的有無(wú)等來(lái)表示0和1。(3)便于進(jìn)行加、減運(yùn)算和計(jì)數(shù)編碼。(4)便于邏輯判斷(是或非)。(5)用二進(jìn)制表示數(shù)據(jù)具有抗干擾能力強(qiáng),可靠性高等優(yōu)點(diǎn)。因?yàn)槊课粩?shù)據(jù)只有高低兩個(gè)狀態(tài),當(dāng)受到一定程度的干擾時(shí),仍能可靠地分辨出它是高還是低。第3章信息在計(jì)算機(jī)中的表示3.30/1與數(shù)值信息3.3.1數(shù)值表示有大小關(guān)系的數(shù)值通常采用進(jìn)位制來(lái)表達(dá),即用數(shù)碼和帶有權(quán)值的數(shù)位來(lái)表示。r進(jìn)制共有0、1、2、…、r-1共r個(gè)數(shù)碼;數(shù)碼在一個(gè)數(shù)值中的位置被稱為數(shù)位;

r進(jìn)制數(shù)位的權(quán)值為

r的冪次方,表示逢

r進(jìn)1,借1當(dāng)r。進(jìn)位制十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制計(jì)數(shù)規(guī)則逢十進(jìn)一逢二進(jìn)一逢八進(jìn)一逢十六進(jìn)一基數(shù)102816數(shù)碼0~90,10~70~9,A~F權(quán)值10i2i8i16i符號(hào)表示D(Decimal)B(Binary)O(Octal)H(Hexadecimal)3.3.1數(shù)值表示典型的r進(jìn)制數(shù)就是二進(jìn)制數(shù),它有0和1兩個(gè)數(shù)碼,逢2進(jìn)1,借1當(dāng)2。由于二進(jìn)制表達(dá)數(shù)值數(shù)據(jù)時(shí)的位數(shù)太多,所以計(jì)算機(jī)系統(tǒng)也多采用八進(jìn)制、十六進(jìn)制和十進(jìn)制。其中,十六進(jìn)制的數(shù)碼為0—9和A—F(表示10—15)。一個(gè)數(shù)值用不同進(jìn)位制表示則會(huì)表達(dá)成不同的數(shù)碼串,而一個(gè)相同的數(shù)碼串因其使用的進(jìn)位制不同而表示不同大小的數(shù)值。3.3.2不同進(jìn)位制之間的轉(zhuǎn)換1.r進(jìn)制轉(zhuǎn)換成十進(jìn)制將r進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),就是將各位數(shù)碼乘以權(quán)值的累加和,如公式(3.1)所示。(N)r=an-1an-2…a1a0a-1…a-m

=an-1×rn-1+an-2×rn-2+…+a1×r1+a0×r0

+a-1×r-1+…+a-m×r-m

(3.1)例如:1010111.11B=1×26+1×24+1×22+1×21+1×20+1×2-1+1×2-2=87.75D123.4O=1×82+2×81+3×80+4×8-1=83.5D3D.8H=3×161+13×160+8×16-1=61.5D3.3.2不同進(jìn)位制之間的轉(zhuǎn)換2.十進(jìn)制轉(zhuǎn)換成

r進(jìn)制將十進(jìn)制數(shù)轉(zhuǎn)換成

r進(jìn)制數(shù),其整數(shù)部分與小數(shù)部分的轉(zhuǎn)換方法是不同的。如果一個(gè)數(shù)既有整數(shù)部分又有小數(shù)部分,則必須先分別進(jìn)行轉(zhuǎn)換,然后再相加。1)整數(shù)部分轉(zhuǎn)換:“連除取余法”2)小數(shù)部分轉(zhuǎn)換:“連乘取整法”3.3.2不同進(jìn)位制之間的轉(zhuǎn)換2.十進(jìn)制轉(zhuǎn)換成r進(jìn)制1)整數(shù)部分轉(zhuǎn)換:“連除取余法”即用整數(shù)部分不斷除以基數(shù)r,取其余數(shù),直到商為零。余數(shù)的排列方向是由下向上排列。2)小數(shù)部分轉(zhuǎn)換:“連乘取整法”即用小數(shù)部分不斷乘以基數(shù)r,取其積數(shù)的整數(shù)部分,剩下的小數(shù)部分繼續(xù)連乘取整,直到小數(shù)部分為0時(shí)為止。取整的排列方向是由上向下排列。如果小數(shù)部分不能為0,則根據(jù)精度要求算到小數(shù)點(diǎn)后某位數(shù)為止,然后按類似于十進(jìn)制的“四舍五入”的原則取近似值。3.3.2不同進(jìn)位制之間的轉(zhuǎn)換2.十進(jìn)制轉(zhuǎn)換成

r進(jìn)制例如:將十進(jìn)制89.34375轉(zhuǎn)換成對(duì)應(yīng)二進(jìn)制數(shù),其結(jié)果為1011001.01011B。3.3.2不同進(jìn)位制之間的轉(zhuǎn)換2.十進(jìn)制轉(zhuǎn)換成r進(jìn)制15以內(nèi)的十進(jìn)制數(shù)與二進(jìn)制、八進(jìn)制、十進(jìn)制之間的轉(zhuǎn)換關(guān)系如表3.2所示。十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制0000810001081111910011192102210101012A3113311101113B41004412110014C51015513110115D61106614111016E71117715111117F3.3.2不同進(jìn)位制之間的轉(zhuǎn)換3.二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換因?yàn)?1=23,161=24,即1位八進(jìn)制數(shù)相當(dāng)于3位二進(jìn)制數(shù),1位十六進(jìn)制數(shù)相當(dāng)于4位二進(jìn)制數(shù)。BO:“3位并1位”即以小數(shù)點(diǎn)為中心分別向左、右兩邊分組,每3位1組,不足的向兩邊補(bǔ)0。合并方法見(jiàn)表2.5中二進(jìn)制分別與八進(jìn)制、十六進(jìn)制的轉(zhuǎn)換。OB:“1位擴(kuò)3位”即將每1位八進(jìn)制數(shù)用3位二進(jìn)制數(shù)來(lái)表示。BH:“4位并1位”HB:“1位擴(kuò)4位”3.3.3數(shù)值符號(hào)的表示數(shù)值的符號(hào)在二進(jìn)制編碼中也要用0和1表示,并參與運(yùn)算。通常規(guī)定一個(gè)數(shù)的最高位為符號(hào)位,0表示正號(hào),1表示負(fù)號(hào),其余位表示數(shù)值。一個(gè)數(shù)在機(jī)器中的表示形式稱為機(jī)器數(shù),而它所代表的數(shù)值稱為此機(jī)器數(shù)的真值。機(jī)器數(shù)由于受到CPU字長(zhǎng)的限制,只能表示一定范圍內(nèi)的數(shù),超出此范圍則為“溢出”。3.3.3數(shù)值符號(hào)的表示機(jī)器數(shù)的編碼方式很多,常用的編碼方式有原碼、反碼和補(bǔ)碼。原碼:除了符號(hào)位,數(shù)值位是其絕對(duì)值的二進(jìn)制數(shù)表示。反碼:正數(shù)的反碼與原碼相同;負(fù)數(shù)的反碼符號(hào)位為1,數(shù)值位是其絕對(duì)值取反。補(bǔ)碼:正數(shù)的補(bǔ)碼與原碼相同;負(fù)數(shù)的補(bǔ)碼符號(hào)位為1,數(shù)值位是其絕對(duì)值取反加

1,即負(fù)數(shù)的補(bǔ)碼=負(fù)數(shù)的反碼+1。3.3.3數(shù)值符號(hào)的表示原碼:正數(shù):=最高位0+編碼負(fù)數(shù):=最高位1+絕對(duì)值的編碼原碼的特點(diǎn):編碼方式最簡(jiǎn)單、直接,比較容易轉(zhuǎn)換成與其對(duì)應(yīng)的真值存在的問(wèn)題:(1)0有兩種表示形式(2)用原碼作四則運(yùn)算時(shí),符號(hào)位需要單獨(dú)處理,增加了運(yùn)算規(guī)則的復(fù)雜性3.3.3數(shù)值符號(hào)的表示反碼:一般是作為求補(bǔ)碼的中間碼。正數(shù):=原碼負(fù)數(shù):=絕對(duì)值的原碼取反數(shù)學(xué)上相當(dāng)于:全1-絕對(duì)值的原碼3.3.3數(shù)值符號(hào)的表示補(bǔ)碼:正數(shù):=原碼負(fù)數(shù):=反碼+1

=絕對(duì)值原碼取反+1數(shù)學(xué)上相當(dāng)于:模-絕對(duì)值的原碼補(bǔ)碼的特點(diǎn):(1)0有唯一的編碼(2)補(bǔ)碼可以直接參與運(yùn)算(3)減法可以轉(zhuǎn)換成加法,簡(jiǎn)化了運(yùn)算規(guī)則3.3.3數(shù)值符號(hào)的表示例如:假設(shè)一個(gè)數(shù)用一個(gè)字節(jié)表示,那么[+1]原碼=

00000001

[+1]反碼=

00000001[+1]補(bǔ)碼=

00000001[-1]原碼

10000001

[-1]反碼=

11111110

[-1]補(bǔ)碼=

11111111[+127]原碼=01111111[+127]反碼=

01111111[+127]補(bǔ)碼=

01111111[-127]原碼=

11111111[-127]反碼=

10000000[-127]補(bǔ)碼=

100000013.3.3數(shù)值符號(hào)的表示例如:用補(bǔ)碼(假設(shè)8位機(jī))分別計(jì)算

4+5,(-4)+5,(-4)+(-5)減法轉(zhuǎn)換成加法,以及求補(bǔ)的原理,類似于鐘表的撥動(dòng)補(bǔ)碼表示的數(shù)值范圍:以8位機(jī)為例-128~+127注:加方框的數(shù)字表示進(jìn)位的溢出,被舍棄已知補(bǔ)碼,求其真值?負(fù)數(shù):補(bǔ)碼再求補(bǔ)(取反+1)絕對(duì)值的原碼十進(jìn)制負(fù)數(shù)3.3.4小數(shù)點(diǎn)的表示在計(jì)算機(jī)中,帶有小數(shù)點(diǎn)的實(shí)數(shù)可按兩種方式來(lái)處理。一種是小數(shù)點(diǎn)位置固定。小數(shù)點(diǎn)或者在符號(hào)位的后面,或者在整個(gè)數(shù)值的尾部,稱為定點(diǎn)數(shù)。前者說(shuō)明機(jī)器數(shù)全為小數(shù),后者說(shuō)明機(jī)器數(shù)全為整數(shù)。小數(shù)點(diǎn)以默認(rèn)方式處理,并未出現(xiàn)在二進(jìn)制編碼中。另一種是小數(shù)點(diǎn)浮動(dòng),借鑒科學(xué)計(jì)數(shù)法表示編碼,稱為浮點(diǎn)數(shù)。1985年,為了統(tǒng)一浮點(diǎn)數(shù)的存儲(chǔ)格式,IEEE制定了IEEE754標(biāo)準(zhǔn)。目前,絕大多數(shù)的計(jì)算機(jī)都遵循這一標(biāo)準(zhǔn),從而極大地改善了各種軟件的可移植性。3.3.4小數(shù)點(diǎn)的表示在程序設(shè)計(jì)語(yǔ)言中,最常見(jiàn)的浮點(diǎn)數(shù)是單精度(float)和雙精度(double)的浮點(diǎn)數(shù),IEEE754對(duì)它們的存儲(chǔ)格式作了嚴(yán)格的規(guī)定。浮點(diǎn)數(shù)由三部分構(gòu)成:浮點(diǎn)數(shù)的符號(hào)位、浮點(diǎn)數(shù)的尾數(shù)位、浮點(diǎn)數(shù)的指數(shù)位。浮點(diǎn)數(shù)的指數(shù)采用平移的方式將(-n,n)區(qū)間的數(shù)轉(zhuǎn)換成(0,2n)區(qū)間上的數(shù)來(lái)表示,避免了指數(shù)的符號(hào)占位問(wèn)題。3.3.4小數(shù)點(diǎn)的表示單精度浮點(diǎn)數(shù)存儲(chǔ)時(shí)占用4個(gè)字節(jié),即32位格式說(shuō)明:(1)若浮點(diǎn)數(shù)是正數(shù),則數(shù)符為0,否則為1;(2)尾數(shù)中的“1.”不存儲(chǔ);(3)存儲(chǔ)的階碼等于規(guī)格化數(shù)中的指數(shù)加上127。規(guī)格化數(shù)

=數(shù)符

×1.XXX……XXX×2指數(shù)尾數(shù),二進(jìn)制,小數(shù)點(diǎn)之前是1指數(shù),習(xí)慣上寫成十進(jìn)制數(shù)符1位階碼8位尾數(shù)23位3.3.4小數(shù)點(diǎn)的表示7.0作為單精度浮點(diǎn)數(shù)規(guī)格化表示:7.010=111.0B=+1.11×22B

階碼:2+127=129=10000001B-26.5作為單精度浮點(diǎn)數(shù)規(guī)格化表示:-26.510=-11010.1B=-1.10101×24B

階碼:4+127=131=10000011B11000001110101000000000000000000010000001110000000000000000000003.3.4小數(shù)點(diǎn)的表示雙精度浮點(diǎn)數(shù)在計(jì)算機(jī)中的表示與單精度類似,只有兩點(diǎn)區(qū)別:雙精度浮點(diǎn)數(shù)占8個(gè)字節(jié)(64位),其中數(shù)符、階碼和尾數(shù)分別占1、11和52位;階碼=指數(shù)+1023。階碼尾數(shù)階碼尾數(shù)雙單第3章信息在計(jì)算機(jī)中的表示3.40/1與非數(shù)值信息3.4.1編碼的概念非數(shù)值信息可采用編碼來(lái)表示。編碼就是以若干位數(shù)碼或符號(hào)的不同組合來(lái)表示非數(shù)值性信息的方法,它是人為地將若干位數(shù)碼或符號(hào)的每一種組合指定一種唯一的含義。編碼的概念在生活中比較常見(jiàn)。例如:旗語(yǔ)、燈語(yǔ)、學(xué)號(hào)、電報(bào)碼、聯(lián)絡(luò)暗號(hào)、車牌號(hào)、電話號(hào)碼等都包含著編碼的概念。以聯(lián)絡(luò)暗號(hào)為例,敲3下門,當(dāng)當(dāng)當(dāng)、啪啪啪、咚咚咚、哐哐哐等代表了不同的含義。3.4.1編碼的概念編碼具有三個(gè)主要特征:唯一性唯一性是指每一種組合確定的唯一的含義公共性公共性是指所有相關(guān)者都認(rèn)同、遵守和使用這種編碼規(guī)律性。規(guī)律性是指編碼應(yīng)有一定的規(guī)律,便于計(jì)算機(jī)和人能識(shí)別和使用例如,武漢科技大學(xué)學(xué)生的學(xué)號(hào)由12位數(shù)字構(gòu)成,前4位表示入學(xué)年級(jí),第5-6位表示學(xué)院編碼,第7-9位表示專業(yè)編碼,最后3位表示學(xué)生序號(hào)。按照這個(gè)規(guī)則,可以給每個(gè)新入學(xué)的學(xué)生一個(gè)編碼,即學(xué)號(hào)。知道了這個(gè)規(guī)則,就可以從學(xué)號(hào)中了解學(xué)生的相關(guān)信息。3.4.1編碼的概念編碼具有時(shí)空性,同一個(gè)編碼在不同時(shí)空環(huán)境具有不同的編碼含義。例如,對(duì)于一個(gè)學(xué)號(hào)編碼,在不同的學(xué)校因?yàn)榫幋a規(guī)則不同使得編碼代表的含義也不同;即使編碼規(guī)則相同,對(duì)應(yīng)的學(xué)生也不同;同一所學(xué)校在不同時(shí)期的編碼規(guī)則也可能不同。因此,在實(shí)際應(yīng)用中要注意編碼的時(shí)空性。如果一種編碼出現(xiàn)在另一種編碼語(yǔ)境中,則可能會(huì)導(dǎo)致出現(xiàn)亂碼的現(xiàn)象。3.4.1編碼的概念制訂編碼規(guī)則時(shí)還需要考慮編碼的信息容量。編碼的信息容量由編碼的位數(shù)以及符號(hào)的種類決定。比如,武漢市車牌號(hào)是鄂A后面接5位編碼。如果后面5位編碼只允許出現(xiàn)0~9的數(shù)字,即從鄂A00000到鄂A99999共10萬(wàn)個(gè)編碼。當(dāng)車的數(shù)量超過(guò)10萬(wàn)時(shí),這個(gè)編碼就不夠了。解決辦法有兩種:一是增加位數(shù),二是提升編碼符號(hào)的種類。如果后面5位允許出現(xiàn)大寫英文字母的話,則編碼符號(hào)的種類就由10個(gè)增加到了36個(gè),這時(shí),理論上可以有365=60,466,176個(gè)車牌號(hào)。3.4.2ASCII碼ASCII(americanStandardcodeforInformationInterchange,美國(guó)信息交換標(biāo)準(zhǔn)代碼)就是用0和1組合表示英文字母和符號(hào)的編碼體系。英文有26個(gè)大寫字母、26個(gè)小寫字母、10個(gè)數(shù)字和一些標(biāo)點(diǎn)符號(hào),因此只要0/1編碼的信息容量能超過(guò)這些需要表示的符號(hào)數(shù)量即可。為了滿足公共性,需要有統(tǒng)一的編碼標(biāo)準(zhǔn),率先出現(xiàn)的ASCII碼便是這樣的標(biāo)準(zhǔn),它為計(jì)算機(jī)在世界范圍的普及做出了重要貢獻(xiàn)。3.4.2ASCII碼ASCII是用7位二進(jìn)制數(shù)表示一些常用符號(hào)的一種編碼。ASCII碼總共有128個(gè)通用標(biāo)準(zhǔn)符號(hào),包括:26個(gè)英文大寫字母(編碼65—90)26個(gè)英文小寫字母(編碼97—122)數(shù)字0—9(編碼48—57)33個(gè)通用控制字符(編碼0—31和127)33個(gè)專用字符(編碼32—47、58—64、91—96、123—126),如標(biāo)點(diǎn)符號(hào)等。3.4.2ASCII碼表3.3標(biāo)準(zhǔn)ASCII碼表d6d5d4d3d2d1d00000010100111001011101110000NULDLESP0@P、p0001SOHDC1!1AQaq0010STXDC2"2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB'7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<

L\l|1101CRCS-=M]m}1110SORS.>

N↑n~1111SIUS/?O↓oDEL3.4.2ASCII碼為了滿足機(jī)器處理的方便性,通常采用8位來(lái)編碼一個(gè)符號(hào),其中最高位為0。例如,A的ASCII碼為01000001,寫成十六進(jìn)制數(shù)為41H,對(duì)應(yīng)的十進(jìn)制數(shù)為65;空格SP的ASCII碼為00100000,寫成十六進(jìn)制數(shù)為20H,對(duì)應(yīng)的十進(jìn)制數(shù)為32。常用英文大寫字母A~Z的ASCII碼為41H—5AH,小寫字母a—z的ASCII碼為61H—7AH。后綴H表示十六進(jìn)制數(shù)。8位二進(jìn)制數(shù)稱為1字節(jié)(Byte)。3.4.2ASCII碼可以將ASCII碼信息存儲(chǔ)成文本文件(如.txt文件),當(dāng)打開(kāi)該文件并讀出其內(nèi)容時(shí),只要按照規(guī)則“對(duì)0/1串按8位分隔一個(gè)字符,并查找ASCII表將其映射成相應(yīng)符號(hào)”進(jìn)行解析即可。例如一串信息按ASCII碼存儲(chǔ)成.txt文本文件,內(nèi)容為:010010000110010101101100011011000110111100101100010101110110111101110010011011000110010000100001。解析成字符串就是“Hello,World!”。人們敲擊鍵盤上的按鍵時(shí),計(jì)算機(jī)將按鍵轉(zhuǎn)換成相應(yīng)的ASCII碼,就可以將各種字符入計(jì)算機(jī)進(jìn)行處理。3.4.3漢字的編碼漢字有近50000個(gè),需要2個(gè)字節(jié)即16位二進(jìn)制編碼才能滿足需求。我國(guó)1980年發(fā)布了《中華人民共和國(guó)標(biāo)準(zhǔn)信息交換漢字編碼》,代號(hào)為GB2312-80,簡(jiǎn)稱國(guó)標(biāo)碼。根據(jù)統(tǒng)計(jì),把最常用的6763個(gè)漢字和682個(gè)非漢字圖形符號(hào)分成兩級(jí):一級(jí)漢字3755個(gè),按漢語(yǔ)拼音排列;二級(jí)漢字3008個(gè),按偏旁部首排列。所有漢字和符號(hào)排列成一個(gè)94×94的矩陣,即94個(gè)區(qū)(行)和94個(gè)位(列),每個(gè)區(qū)、每個(gè)位構(gòu)成一個(gè)“區(qū)位碼”,存放一個(gè)漢字或符號(hào)。3.4.3漢字的編碼例如“中”字位于54區(qū)48位,那么“中”字的區(qū)位碼為5448。在計(jì)算機(jī)內(nèi)部,區(qū)碼、位碼分別以二進(jìn)制數(shù)存儲(chǔ),94以內(nèi)的數(shù)據(jù)以一個(gè)字節(jié)存放足夠用,因此“中”字的區(qū)位碼在計(jì)算機(jī)內(nèi)部存儲(chǔ)為3630H(以十六進(jìn)制表示),其中區(qū)碼、位碼分別編碼。3.4.3漢字的編碼漢字國(guó)標(biāo)碼是把區(qū)位碼的區(qū)碼、位碼分別加上32(即20H)。國(guó)標(biāo)碼=區(qū)位碼+2020H這樣做的目的是為了與ASCII碼中的控制字符相兼容,使每個(gè)字節(jié)值大于32,且不等于127(ASCII碼中,0~32和127為控制字符碼)。因此“中”字的國(guó)標(biāo)碼為5650H。3.4.3漢字的編碼漢字的國(guó)標(biāo)碼占兩個(gè)字節(jié),每個(gè)字節(jié)的最高位為0,而西文字符占一個(gè)字節(jié),最高位也是0。同樣是字符,無(wú)法在計(jì)算機(jī)內(nèi)部區(qū)分某個(gè)字節(jié)存儲(chǔ)的內(nèi)容是漢字編碼中的一個(gè)字節(jié)還是西文字符編碼。因此,將國(guó)標(biāo)碼的每個(gè)字節(jié)的最高位設(shè)為1,作為漢字在計(jì)算機(jī)內(nèi)存儲(chǔ)與處理的編碼,稱為漢字機(jī)內(nèi)碼。這樣,根據(jù)最高位是0還是1,就可以區(qū)分某個(gè)字節(jié)存儲(chǔ)的是漢字編碼的高字節(jié)(編碼中位于權(quán)值高的字節(jié))還是西文字符編碼。3.4.3漢字的編碼若為漢字編碼,則再取出相鄰的字節(jié)中的值,作為漢字編碼的低字節(jié)(編碼中位于權(quán)值低的字節(jié)),將它們作為一個(gè)整體來(lái)表示一個(gè)漢字編碼。將漢字國(guó)標(biāo)碼的最高位設(shè)為1,相當(dāng)于將兩個(gè)字節(jié)分別加上80H。漢字機(jī)內(nèi)碼=漢字國(guó)標(biāo)碼+8080H因此“中”字的機(jī)內(nèi)碼為D6D0H。這樣,漢字的每個(gè)字節(jié)的值都大于128,而每個(gè)西文字符的ASCII碼值均小于128。3.4.3漢字的編碼漢字機(jī)內(nèi)碼、漢字國(guó)標(biāo)碼、區(qū)位碼三者之間的關(guān)系為:漢字機(jī)內(nèi)碼=漢字國(guó)標(biāo)碼+8080H=區(qū)位碼+A0A0H漢字國(guó)標(biāo)碼=區(qū)位碼+2020H3.4.3漢字的編碼為了容納所有國(guó)家的文字,國(guó)際組織提出了Unicode標(biāo)準(zhǔn)。Unicode是可以容納世界上所有文字和符號(hào)的字符編碼方案,用數(shù)字0~10FFFFH來(lái)映射所有的字符,最多可容納1114112個(gè)字符的編碼信息。具體實(shí)現(xiàn)時(shí),有UTF-8、UTF-16、UTF-32等編碼方案。然而,如何將漢字輸入到計(jì)算機(jī)中呢?人們發(fā)明了各種漢字輸入碼,又稱為外碼,是用鍵盤上可識(shí)別的符號(hào)的不同組合來(lái)編碼漢字的,以便進(jìn)行漢字輸入的一種編碼。常用的輸入碼有國(guó)際區(qū)位碼、拼音碼、字形碼、音形碼等。3.4.4字符的顯示顯示器是用來(lái)將系統(tǒng)信息、計(jì)算機(jī)處理結(jié)果、用戶程序及文檔等信息顯示在屏幕上的設(shè)備,是人機(jī)對(duì)話的一個(gè)重要工具。屏幕上要顯示的內(nèi)容,最終以點(diǎn)陣的形式映射到屏幕的像素上。像素是顯示器顯示信息的基本單元,由水平行點(diǎn)數(shù)和垂直行點(diǎn)數(shù)組成。屏幕上的像素?cái)?shù)目越多,顯示器的分辨率就越高,在屏幕上就能顯示更細(xì)微和更多的內(nèi)容。不管是CRT顯示器還是LCD,系統(tǒng)將要顯示的內(nèi)容先存放到顯示緩沖區(qū)VRAM中,然后用VRAM中的內(nèi)容來(lái)控制屏幕上對(duì)應(yīng)的像素,使像素呈現(xiàn)不同的亮度和顏色,從而使人們能看到顯示的信息。3.4.4字符的顯示1.ASCII字符的顯示ASCII字符是以發(fā)光點(diǎn)陣的形式顯示的,就像室外大屏幕廣告牌一樣。ASCII字符的點(diǎn)陣大小一般有5×7、8×8、7×9等。

123456781

2

3

4●

5●●●●●●●

6●

7●

8

3.4.4字符的顯示1.ASCII字符的顯示圖中的點(diǎn)表示發(fā)光亮點(diǎn),空白為暗點(diǎn),這些亮點(diǎn)、暗點(diǎn)分別對(duì)應(yīng)二進(jìn)制的1和0。由此可以得到字符A的點(diǎn)陣編碼。因此,每個(gè)字符點(diǎn)陣要占據(jù)連續(xù)8個(gè)字節(jié)的存儲(chǔ)單元。表3.4字符A的點(diǎn)陣編碼行

二進(jìn)制表示

十六進(jìn)制表示

1

00010000

10H

2

00101000

28H

3 01000100

44H

4

10000010

82H

5

11111110

FEH

6

10000010

82H

7

10000010

82H

8

00000000

00H

123456781

2

3

4●

5●●●●●●●

6●

7●

8

3.4.4字符的顯示1.ASCII字符的顯示要顯示字符時(shí),只需根據(jù)字符的ASCII碼取出點(diǎn)陣編碼,然后用點(diǎn)陣中的1和0來(lái)控制像素點(diǎn)是否發(fā)光,從而顯示出字符來(lái)。在640×480的分辨率下,每屏可以顯示80列×60行=4800個(gè)8×8點(diǎn)陣的ASCII字符。3.4.4字符的顯示2.漢字的顯示同ASCII字符一樣,也可以用0/1的組合來(lái)表征漢字字形的信息,這樣就形成了漢字字模的點(diǎn)陣碼。存儲(chǔ)全部漢字字模的點(diǎn)陣碼稱為字庫(kù)。常用的漢字字形的點(diǎn)陣有16×16點(diǎn)陣、24×24點(diǎn)陣、32×32點(diǎn)陣、48×48點(diǎn)陣等。3.4.4字符的顯示2.漢字的顯示例如,“漢”字的16×16字形點(diǎn)陣及點(diǎn)陣代碼。在點(diǎn)陣碼中,規(guī)定白點(diǎn)用0表示,黑點(diǎn)用1表示。16×16點(diǎn)陣的漢字點(diǎn)陣有16行,每一行上有16個(gè)點(diǎn)。3.4.4字符的顯示2.漢字的顯示要顯示一個(gè)漢字時(shí),計(jì)算機(jī)漢字處理系統(tǒng)先根據(jù)該漢字的機(jī)內(nèi)碼找出其字模信息在字庫(kù)中的位置,再取出其字模信息作為字形在屏幕上顯示。漢字字形也有矢量方式,存儲(chǔ)的是描述漢字字形的輪廓特征。當(dāng)要輸出漢字時(shí),通過(guò)計(jì)算,將漢字字形描述生成漢字點(diǎn)陣。矢量化字形描述與最終文字顯示的大小、分辨率無(wú)關(guān),因此可產(chǎn)生高質(zhì)量的漢字輸出。而點(diǎn)陣方式則無(wú)需轉(zhuǎn)換可以直接輸出,但是字形放大后,產(chǎn)生的效果較差。3.4.4字符的顯示2.漢字的顯示因此,一個(gè)漢字的編碼可以有4種,它們相互之間的轉(zhuǎn)換關(guān)系如圖所示。第3章信息在計(jì)算機(jī)中的表示3.50/1與多媒體信息3.50/1與多媒體信息1.圖像的表示方法如果將圖像均勻劃分成若干個(gè)小格,每一小格稱為一個(gè)像素,則每個(gè)像素呈現(xiàn)不同顏色(彩色)或?qū)哟危ê诎讏D像)因此,圖像可視為像素的集合3.50/1與多媒體信息1.圖像的表示方法一幅圖像的尺寸可用像素點(diǎn)來(lái)衡量,即用“水平像素點(diǎn)數(shù)×垂直像素點(diǎn)數(shù)”來(lái)衡量。如果格子足夠小,圖像會(huì)越清晰。通常,把單位尺寸內(nèi)的像素點(diǎn)數(shù)目稱為分辨率。分辨率越高,圖像越清晰。3.50/1與多媒體信息1.圖像的表示方法圖像可視為像素的集合,對(duì)每個(gè)像素進(jìn)行編碼,然后按行組織起一行中所有像素的編碼,再按順序?qū)⑺行械木幋a連起來(lái),就構(gòu)成了整幅圖像的編碼。一幅圖像需占用的存儲(chǔ)空間為“水平像素點(diǎn)數(shù)×垂直像素點(diǎn)數(shù)×像素點(diǎn)的位數(shù)”,如一幅常見(jiàn)尺寸的圖像3072×2048×24=150994944位=18874368字節(jié),即18MB,是很大的。因此,圖像存儲(chǔ)需要考慮壓縮的問(wèn)題。3.50/1與多媒體信息1.圖像的表示方法所謂圖像壓縮,其實(shí)也是一種圖像編碼的方法。圖像編碼既要考慮每個(gè)像素的編碼,又要考慮如何組織行列像素點(diǎn)進(jìn)行存儲(chǔ)的方式。圖像壓縮是通過(guò)分析圖像行列像素點(diǎn)間的相關(guān)性來(lái)實(shí)現(xiàn)的,壓縮掉冗余的像素點(diǎn),從而實(shí)現(xiàn)存儲(chǔ)空間的降低。3.50/1與多媒體信息1.圖像的表示方法例如,原始數(shù)據(jù)為

00000000001000001100000100000000我們可以只記錄被每個(gè)1隔開(kāi)的0的個(gè)數(shù),每個(gè)數(shù)用4位編碼表示,則壓縮后的編碼為

101001010000010110003.50/1與多媒體信息1.圖像的表示方法但是,壓縮后的數(shù)據(jù)不能直接使用,必須要先進(jìn)行解壓縮,恢復(fù)原來(lái)的樣子。目前已有很多標(biāo)準(zhǔn)圖像編碼方法,如BMP(BitMap)、JPEG(JointPhotographicExpertGroup,聯(lián)合圖像專家組)、GIF(GraphicInterchangeFormat,圖像互換格式)、PNG(PortableNetworkGraphics,便攜式網(wǎng)絡(luò)圖形)等。3.50/1與多媒體信息1.圖像的表示方法當(dāng)要顯示圖像時(shí),先通過(guò)解碼器將壓縮后的編碼還原成原來(lái)的樣子,再送入顯示緩沖區(qū)。在圖形顯示方式下,顯示緩沖區(qū)中存放的圖形信息的順序與屏幕上像素的行、列位置一一對(duì)應(yīng)。3.50/1與多媒體信息2.聲音或音頻的表示方法聲音就是聲波,聲波是連續(xù)的,通常稱為模擬信號(hào)。模擬信號(hào)需要經(jīng)過(guò)采樣、量化和編碼后形成數(shù)字音頻,進(jìn)行數(shù)字處理。3.50/1與多媒體信息2.聲音或音頻的表示方法所謂采樣,是指按一定的采樣頻率對(duì)連續(xù)音頻信號(hào)做時(shí)間上的離散化,即對(duì)連續(xù)信號(hào)隔一定周期獲取一個(gè)信號(hào)點(diǎn)的過(guò)程量化是將所采集的信號(hào)點(diǎn)的數(shù)值區(qū)分成不同位數(shù)的離散數(shù)值的過(guò)程編碼是將采集

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論