官术网_书友最值得收藏!

任務(wù)二 了解計(jì)算機(jī)中信息的表示和存儲(chǔ)

任務(wù)要求

肖磊知道利用計(jì)算機(jī)技術(shù)可以采集、存儲(chǔ)和處理各種用戶信息,也可將這些用戶信息轉(zhuǎn)換成用戶可以識(shí)別的文字、聲音或音視頻進(jìn)行輸出,然而讓肖磊疑惑的是,這些信息在計(jì)算機(jī)內(nèi)部又是如何表示的呢?該如何對(duì)信息進(jìn)行量化呢?肖磊認(rèn)為,學(xué)習(xí)好這方面的知識(shí),才能更好地使用計(jì)算機(jī)。

本任務(wù)要求認(rèn)識(shí)計(jì)算機(jī)中的數(shù)據(jù)及其單位,了解數(shù)制及其轉(zhuǎn)換,認(rèn)識(shí)二進(jìn)制數(shù)的運(yùn)算,并了解計(jì)算機(jī)中字符的編碼規(guī)則。

任務(wù)實(shí)現(xiàn)

(一)認(rèn)識(shí)計(jì)算機(jī)中的數(shù)據(jù)及其單位

在計(jì)算機(jī)中,各種信息都是以數(shù)據(jù)的形式出現(xiàn)的,對(duì)數(shù)據(jù)進(jìn)行處理后產(chǎn)生的結(jié)果為信息,因此數(shù)據(jù)是計(jì)算機(jī)中信息的載體,數(shù)據(jù)本身沒(méi)有意義,只有經(jīng)過(guò)處理和描述,才能賦予其實(shí)際意義,如單獨(dú)一個(gè)數(shù)據(jù)“32℃”并沒(méi)有什么實(shí)際意義,但如果表示為“今天的氣溫是32℃”時(shí),這條信息就有意義了。

計(jì)算機(jī)中處理的數(shù)據(jù)可分為數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)(如字母、漢字和圖形等)兩大類,無(wú)論什么類型的數(shù)據(jù),在計(jì)算機(jī)內(nèi)部都是以二進(jìn)制的形式存儲(chǔ)和運(yùn)算的。計(jì)算機(jī)在與外部交流時(shí)會(huì)采用人們熟悉和便于閱讀的形式表示,如十進(jìn)制數(shù)據(jù)、文字表達(dá)和圖形顯示等,這之間的轉(zhuǎn)換則由計(jì)算機(jī)系統(tǒng)來(lái)完成。

在計(jì)算機(jī)內(nèi)存儲(chǔ)和運(yùn)算數(shù)據(jù)時(shí),通常要涉及的數(shù)據(jù)單位有以下3種。

● 位(bit)。計(jì)算機(jī)中的數(shù)據(jù)都是以二進(jìn)制來(lái)表示的,二進(jìn)制的代碼只有“0”“1”兩個(gè)數(shù)碼,采用多個(gè)數(shù)碼(“0”和“1”的組合)來(lái)表示一個(gè)數(shù),其中的每一個(gè)數(shù)碼稱為一位,位是計(jì)算機(jī)中最小的數(shù)據(jù)單位。

● 字節(jié)(Byte)。在對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行存儲(chǔ)時(shí),以8位二進(jìn)制代碼為一個(gè)單元存放在一起,稱為一個(gè)字節(jié),即1 Byte =8 bit。字節(jié)是計(jì)算機(jī)中信息組織和存儲(chǔ)的基本單位,也是計(jì)算機(jī)體系結(jié)構(gòu)的基本單位。在計(jì)算機(jī)中,通常用B(字節(jié))、KB(千字節(jié))、MB(兆字節(jié))或GB(吉字節(jié))為單位來(lái)表示存儲(chǔ)器(如內(nèi)存、硬盤(pán)和U盤(pán)等)的存儲(chǔ)容量或文件的大小。所謂存儲(chǔ)容量指存儲(chǔ)器中能夠包含的字節(jié)數(shù),存儲(chǔ)單位B、KB、MB、GB和TB的換算關(guān)系如下。

1 KB(千字節(jié))=1 024 B(字節(jié))=210B(字節(jié))

1 MB(兆字節(jié))=1 024 KB(千字節(jié))=220B(字節(jié))

1 GB(吉字節(jié))=1 024 MB(兆字節(jié))=230B(字節(jié))

1 TB(太字節(jié))=1 024 GB(吉字節(jié))=240B(字節(jié))

● 字長(zhǎng)。人們將計(jì)算機(jī)一次能夠并行處理的二進(jìn)制代碼的位數(shù),稱為字長(zhǎng)。字長(zhǎng)是衡量計(jì)算機(jī)性能的一個(gè)重要指標(biāo),字長(zhǎng)越長(zhǎng),數(shù)據(jù)所包含的位數(shù)越多,計(jì)算機(jī)的數(shù)據(jù)處理速度越快。計(jì)算機(jī)的字長(zhǎng)通常是字節(jié)的整倍數(shù),如8位、16位、32位、64位和128位等。

(二)了解數(shù)制及其轉(zhuǎn)換

數(shù)制是指用一組固定的符號(hào)和統(tǒng)一的規(guī)則來(lái)表示數(shù)值的方法。其中,按照進(jìn)位方式計(jì)數(shù)的數(shù)制稱為進(jìn)位計(jì)數(shù)制。在日常生活中,人們習(xí)慣用的進(jìn)位計(jì)數(shù)制是十進(jìn)制,而計(jì)算機(jī)則使用二進(jìn)制;除此以外,還包括八進(jìn)制和十六進(jìn)制等。顧名思義,二進(jìn)制就是逢二進(jìn)一的數(shù)字表示方法;依次類推,十進(jìn)制就是逢十進(jìn)一,八進(jìn)制就是逢八進(jìn)一等。

進(jìn)位計(jì)數(shù)制中每個(gè)數(shù)碼的數(shù)值不僅取決于數(shù)碼本身,其數(shù)值的大小還取決于該數(shù)碼在數(shù)中的位置,如十進(jìn)制數(shù)828.41,整數(shù)部分的第1個(gè)數(shù)碼“8”處在百位,表示800,第2個(gè)數(shù)碼“2”處在十位,表示20,第3個(gè)數(shù)碼“8“處在個(gè)位,表示8,小數(shù)點(diǎn)后第1個(gè)數(shù)碼“4”處在十分位,表示0.4,小數(shù)點(diǎn)后第2個(gè)數(shù)碼“1”處在百分位,表示0.01。也就是說(shuō),同一數(shù)碼處在不同位置所代表的數(shù)值是不同的,數(shù)碼在一個(gè)數(shù)中的位置稱為數(shù)制的數(shù)位;數(shù)制中數(shù)碼的個(gè)數(shù)稱為數(shù)制的基數(shù),十進(jìn)制數(shù)有0、1、2、3、4、5、6、7、8、9共10個(gè)數(shù)碼,其基數(shù)為10;在每個(gè)數(shù)位上的數(shù)碼符號(hào)所代表的數(shù)值等于該數(shù)位上的數(shù)碼乘以一個(gè)固定值,該固定值稱為數(shù)制的位權(quán)數(shù),數(shù)碼所在的數(shù)位不同,其位權(quán)數(shù)也有所不同。

無(wú)論在何種進(jìn)位計(jì)數(shù)制中,數(shù)值都可寫(xiě)成按位權(quán)展開(kāi)的形式,如十進(jìn)制數(shù)828.41可寫(xiě)成:

828.41=8×100+2×10+8×1+4×0.1+1×0.01

或者:

828.41=8×102+2×101+8×100+4×10-1+1×10-2

上式為數(shù)值按位權(quán)展開(kāi)的表達(dá)式,其中10i稱為十進(jìn)制數(shù)的位權(quán)數(shù),其基數(shù)為10,使用不同的基數(shù),便可得到不同的進(jìn)位計(jì)數(shù)制。設(shè)R表示基數(shù),則稱為R進(jìn)制,使用R個(gè)基本的數(shù)碼,Ri就是位權(quán),其加法運(yùn)算規(guī)則是“逢R進(jìn)一”,則任意一個(gè)R進(jìn)制數(shù)D均可以展開(kāi)表示為

48734-00-021-01

上式中的Ki為第i位的系數(shù),可以為0,1,2,…,R-1中的任何一個(gè)數(shù),Ri表示第i位的權(quán)。表1-2所示為計(jì)算機(jī)中常用的幾種進(jìn)位計(jì)數(shù)制的表示。

表1-2 計(jì)算機(jī)中常用的幾種進(jìn)位數(shù)制的表示

48734-00-022-01

通過(guò)表1-2可知,對(duì)于數(shù)據(jù)4A9E,從使用的數(shù)碼可以判斷出其為十六進(jìn)制數(shù),而對(duì)于數(shù)據(jù)492來(lái)說(shuō),如何判斷屬于哪種數(shù)制呢?在計(jì)算機(jī)中,為了區(qū)分不同進(jìn)制的數(shù),可以用括號(hào)加數(shù)制基數(shù)下標(biāo)的方式來(lái)表示不同數(shù)制的數(shù),例如,(492)10表示十進(jìn)制數(shù),(1001.1)2表示二進(jìn)制數(shù),(4A9E)16表示十六進(jìn)制數(shù),也可以用帶有字母的形式分別表示為(492)D、(1001.1)B和(4A9E)H。在程序設(shè)計(jì)中,為了區(qū)分不同進(jìn)制數(shù),常在數(shù)字后直接加英文字母后綴來(lái)區(qū)別,如492D、1001.1B等。

表1-3所示為上述幾種常用數(shù)制的對(duì)照關(guān)系表。

表1-3 常用數(shù)制對(duì)照關(guān)系表

48734-00-022-02

提示

通過(guò)表1-3可以看出,采用不同的數(shù)制表示同一個(gè)數(shù)時(shí),基數(shù)越大,則使用的位數(shù)越少,如十進(jìn)數(shù)12,需要4位二進(jìn)制數(shù)來(lái)表示,需要2位八進(jìn)制數(shù)來(lái)表示,只需1位十六制數(shù)來(lái)表示。所以,在一些C語(yǔ)言的程序中,常采用八進(jìn)制和十六進(jìn)制來(lái)表示數(shù)據(jù)。

下面將具體介紹4種常用數(shù)制之間的轉(zhuǎn)換方法。

1. 非十進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)

將二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)轉(zhuǎn)換十進(jìn)制數(shù)時(shí),只需用該數(shù)制的各位數(shù)乘以各自對(duì)應(yīng)的位權(quán)數(shù),然后將乘積相加。用按位權(quán)展開(kāi)的方法即可得到對(duì)應(yīng)的結(jié)果。

【例1-1】將二進(jìn)制數(shù)10110轉(zhuǎn)換成十進(jìn)制數(shù)。

先將二進(jìn)制數(shù)10110按位權(quán)展開(kāi),然后將乘積相加,轉(zhuǎn)換過(guò)程如下所示。

(10110)2=(1×24+0×23+1×22+1×21+0×2010=(16+4+2)10=(22)10

【例1-2】將八進(jìn)制數(shù)232轉(zhuǎn)換成十進(jìn)制數(shù)。

先將八進(jìn)制數(shù)232按位權(quán)展開(kāi),然后將乘積相加,轉(zhuǎn)換過(guò)程如下所示。

(232)8=(2×82+3×81+2×8010=(128+24+2)10=(154)10

【例1-3】將十六進(jìn)制數(shù)232轉(zhuǎn)換成十進(jìn)制數(shù)。

先將十六進(jìn)制數(shù)232按位權(quán)展開(kāi),然后將乘積相加,轉(zhuǎn)換過(guò)程如下所示。

(232)16=(2×162+3×161+2×16010=(512+48+2)10=(562)10

2. 十進(jìn)制數(shù)轉(zhuǎn)換成其他進(jìn)制數(shù)

將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)時(shí),可將數(shù)值分成整數(shù)和小數(shù)分別轉(zhuǎn)換,然后再拼接起來(lái)。

例如,將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)時(shí),整數(shù)部分采用“除2取余倒讀”法,即將該十進(jìn)制數(shù)除以2,得到一個(gè)商和余數(shù)(K0),再將商數(shù)除以2,又得到一個(gè)新的商和余數(shù)(K1),如此反復(fù),直到商為0時(shí)得到余數(shù)(Kn-1),然后將得到的各次余數(shù),以最后余數(shù)為最高位,最初余數(shù)為最低依次排列,即Kn-1K1 K0,這就是該十進(jìn)制數(shù)對(duì)應(yīng)的二進(jìn)制整數(shù)部分。

小數(shù)部分采用“乘2取整正讀”法,即將十進(jìn)制的小數(shù)乘2,取乘積中的整數(shù)部分作為相應(yīng)二進(jìn)制小數(shù)點(diǎn)后最高位K-1,取乘積中的小數(shù)部分反復(fù)乘2,逐次得到K-2,K-3,…,K-m,直到乘積的小數(shù)部分為0或位數(shù)達(dá)到所需的精確度要求為止,然后把每次乘積所得的整數(shù)部分由上而下(即從小數(shù)點(diǎn)自左往右)依次排列起來(lái)(K-1,K-2,…,K-m)即為所求的二進(jìn)制數(shù)的小數(shù)部分。

同理,將十進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)時(shí),整數(shù)部分除8取余;小數(shù)部分乘8取整;將十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)時(shí),整數(shù)部分除16取余,小數(shù)部分乘16取整。

提示

在進(jìn)行小數(shù)部分的轉(zhuǎn)換時(shí),有些十進(jìn)制小數(shù)不能轉(zhuǎn)換為有限位的二進(jìn)制小數(shù),此時(shí)只有用近似值表示。例如,(0.57)10不能用有限位二進(jìn)制表示,如果要求5位小數(shù)近似值,則得到(0.57)10≈(0.10010)2

【例1-4】將十進(jìn)制數(shù)225.625轉(zhuǎn)換成二進(jìn)制數(shù)。

用除2取余法進(jìn)行整數(shù)部分轉(zhuǎn)換,再用乘2取整法進(jìn)行小數(shù)部分轉(zhuǎn)換,具體轉(zhuǎn)換過(guò)程如下所示。

(225.625)10=(11100001.101)2

48734-00-024-01

3. 二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)、十六進(jìn)制數(shù)

二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)所采用的轉(zhuǎn)換原則是“3位分一組”,即以小數(shù)點(diǎn)為界,整數(shù)部分從右向左每3位為一組,若最后一組不足3位,則在最高位前面添0補(bǔ)足3位,然后將每組中的二進(jìn)制數(shù)按權(quán)相加得到對(duì)應(yīng)的八進(jìn)制數(shù);小數(shù)部分從左向右每3位分為一組,最后一組不足3位時(shí),尾部用0補(bǔ)足3位,然后按照順序?qū)懗雒拷M二進(jìn)制數(shù)對(duì)應(yīng)的八進(jìn)制數(shù)即可。

【例1-5】將二進(jìn)制數(shù)1101001.101轉(zhuǎn)換為八進(jìn)制數(shù)。

轉(zhuǎn)換過(guò)程如下所示。

48734-00-024-02

得到的結(jié)果為(1101001.101)2=(151.5)8

二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)所采用的轉(zhuǎn)換原則與上面的類似,采用的轉(zhuǎn)換原則是“4位分一組”,即以小數(shù)點(diǎn)為界,整數(shù)部分從右向左、小數(shù)部分從左向右每4位一組,不足4位用0補(bǔ)齊即可。

【例1-6】將二進(jìn)制數(shù)101110011000111011轉(zhuǎn)換為十六進(jìn)制數(shù)。

轉(zhuǎn)換過(guò)程如下所示。

48734-00-024-03

得到的結(jié)果為(101110011000111011)2=(2E63B)16

4. 八進(jìn)制數(shù)、十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)

八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的轉(zhuǎn)換原則是“一分為三”,即從八進(jìn)制數(shù)的低位開(kāi)始,將每一位上的八進(jìn)制數(shù)寫(xiě)成對(duì)應(yīng)的3位二進(jìn)制數(shù)即可。如有小數(shù)部分,則從小數(shù)點(diǎn)開(kāi)始,分別向左右兩邊按上述方法進(jìn)行轉(zhuǎn)換即可。

【例1-7】將八進(jìn)制數(shù)162.4轉(zhuǎn)換為二進(jìn)制數(shù)。

轉(zhuǎn)換過(guò)程如下所示。

48734-00-024-04

得到的結(jié)果為(162.4)8=(001110010.100)2

十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的轉(zhuǎn)換原則是“一分為四”,即把每一位上的十六進(jìn)制數(shù)寫(xiě)成對(duì)應(yīng)的4位二進(jìn)制數(shù)即可。

【例1-8】將十六進(jìn)制數(shù)3B7D轉(zhuǎn)換為二進(jìn)制數(shù)。

轉(zhuǎn)換過(guò)程如下所示。

48734-00-025-04

得到的結(jié)果為(3B7D)16=(0011101101111101)2

(三)認(rèn)識(shí)二進(jìn)制數(shù)的運(yùn)算

計(jì)算機(jī)內(nèi)部采用二進(jìn)制表示數(shù)據(jù),其主要原因是技術(shù)實(shí)現(xiàn)簡(jiǎn)單、易于進(jìn)行轉(zhuǎn)換、二進(jìn)制運(yùn)算規(guī)則簡(jiǎn)單、可以方便地利用邏輯代數(shù)分析和設(shè)計(jì)計(jì)算機(jī)的邏輯電路等。下面將對(duì)二進(jìn)制的算術(shù)運(yùn)算和邏輯運(yùn)算進(jìn)行簡(jiǎn)要介紹。

1. 二進(jìn)制的算術(shù)運(yùn)算

二進(jìn)制的算術(shù)運(yùn)算也就是通常所說(shuō)的四則運(yùn)算,包括加、減、乘和除,運(yùn)算比較簡(jiǎn)單,其具體運(yùn)算規(guī)則如下。

● 加法運(yùn)算。按“逢二進(jìn)一”法,向高位進(jìn)位,運(yùn)算規(guī)則為0+0=0、0+1=1、1+0=1、1+1=10。例如,(10011.01)2+(100011.11)2=(110111.00)2

● 減法運(yùn)算。減法實(shí)質(zhì)上是加上一個(gè)負(fù)數(shù),主要應(yīng)用于補(bǔ)碼運(yùn)算,運(yùn)算規(guī)則為0-0=0、1-0=1、0-1=1(向高位借位,結(jié)果本位為1)、1-1=0。例如,(110011)2-(001101)2=(100110)2

● 乘法運(yùn)算。乘法運(yùn)算與我們常見(jiàn)的十進(jìn)制數(shù)對(duì)應(yīng)的運(yùn)算規(guī)則類似,運(yùn)算規(guī)則為0×0=0、1×0=0、0×1=0、1×1=1。例如,(1110)2×(1101)2=(10110110)2

● 除法運(yùn)算。除法運(yùn)算也與十進(jìn)制數(shù)對(duì)應(yīng)的運(yùn)算規(guī)則類似,運(yùn)算規(guī)則為0÷1=0、1÷1=1,而0÷0和1÷0是無(wú)意義的。例如,(1101.1)2÷(110)2=(10.01)2

2. 二進(jìn)制的邏輯運(yùn)算

計(jì)算機(jī)所采用的二進(jìn)制數(shù)1和0可以代表邏輯運(yùn)算中的“真”與“假”,“是”與“否”和“有”與“無(wú)”。二進(jìn)制的邏輯運(yùn)算包括“與”“或”“非”和“異或”4種,具體介紹如下。

● “與”運(yùn)算。“與”運(yùn)算又稱為邏輯乘,通常用符號(hào)“×”“∧”和“·”來(lái)表示。其運(yùn)算規(guī)則為0∧0=0、0∧1=0、1∧0=0、1∧1=1。通過(guò)上述運(yùn)算規(guī)則可以看出,當(dāng)兩個(gè)參與運(yùn)算的數(shù)中有一個(gè)數(shù)為0時(shí),其結(jié)果也為0,此時(shí)是沒(méi)有意義的,只有當(dāng)數(shù)中的數(shù)值都為1時(shí),結(jié)果為1,即只有當(dāng)所有的條件都符合時(shí),邏輯結(jié)果才為肯定值。例如,假定某一個(gè)公益組織規(guī)定加入成員的條件是女性與慈善家,那么只有既是女性又是慈善家的人才能加入該組織。

● “或”運(yùn)算。“或”運(yùn)算又稱為邏輯加,通常用符號(hào)“+”或“∨”來(lái)表示。其運(yùn)算法則為0∨0=0、0∨1=0、1∨0=1、1∨1=1。該運(yùn)算規(guī)則表明只要有一個(gè)數(shù)為1,則結(jié)果就是1。例如,假定某一個(gè)公益組織規(guī)定加入成員的條件是女性或慈善家,那么只要符合其中任意一個(gè)條件或兩個(gè)條件都可以加入該組織。

● “非”運(yùn)算。“非”運(yùn)算又稱為邏輯否運(yùn)算,通常是在邏輯變量上加上畫(huà)線來(lái)表示,如變量為A,則其非運(yùn)算結(jié)果用48734-00-025-01表示。其運(yùn)算規(guī)則為48734-00-025-02。例如,假定A變量表示男性,48734-00-025-03就表示非男性,即指女性。

● “異或”運(yùn)算。“異或”運(yùn)算通常用符號(hào)“⊕”表示,其運(yùn)算規(guī)則為0⊕0=0、0⊕1=1、1⊕0=1、1⊕1=0。該運(yùn)算規(guī)則表明,當(dāng)邏輯運(yùn)算中變量的值不同時(shí),結(jié)果為1,而變量的值相同時(shí),結(jié)果為0。

(四)了解計(jì)算機(jī)中字符的編碼規(guī)則

編碼就是利用計(jì)算機(jī)中的0和1兩個(gè)代碼的不同長(zhǎng)度表示不同信息的一種約定方式。由于計(jì)算機(jī)是以二進(jìn)制的形式存儲(chǔ)和處理數(shù)據(jù)的,因此只能識(shí)別二進(jìn)制編碼信息,對(duì)于數(shù)字、字母、符號(hào)、漢字、語(yǔ)音和圖形等非數(shù)值信息都要用特定規(guī)則進(jìn)行二進(jìn)制編碼才能進(jìn)入計(jì)算機(jī)。對(duì)于西文與中文字符,由于形式的不同,使用的編碼也不同。

1. 西文字符的編碼

計(jì)算機(jī)對(duì)字符進(jìn)行編碼,通常采用ASCII和Unicode兩種編碼。

● ASCII。美國(guó)標(biāo)準(zhǔn)信息交換標(biāo)準(zhǔn)代碼(American Standard Code for Information Interchange,ASCII)是基于拉丁字母的一套編碼系統(tǒng),主要用于顯示現(xiàn)代英語(yǔ)和其他西歐語(yǔ)言,它被國(guó)際標(biāo)準(zhǔn)化組織指定為國(guó)際標(biāo)準(zhǔn)(ISO 646標(biāo)準(zhǔn))。標(biāo)準(zhǔn)ASCII是使用7位二進(jìn)制數(shù)來(lái)表示所有的大寫(xiě)和小寫(xiě)字母,數(shù)字0~9、標(biāo)點(diǎn)符號(hào),以及在美式英語(yǔ)中使用的特殊控制字符,共有27=128個(gè)不同的編碼值,可以表示128個(gè)不同字符的編碼,如表1-4所示。其中,低4位編碼b3b2b1b0用作行編碼,而高3位b6b5b4用作列編碼,其中包括95個(gè)編碼對(duì)應(yīng)計(jì)算機(jī)鍵盤(pán)上的符號(hào)或其他可顯示或打印的字符,另外33個(gè)編碼被用作控制碼,用于控制計(jì)算機(jī)某些外部設(shè)備的工作特性和某些計(jì)算機(jī)軟件的運(yùn)行情況。例如,字母A的編碼為二進(jìn)制數(shù)1000001,對(duì)應(yīng)十進(jìn)制數(shù)65或十六進(jìn)制數(shù)41。

表1-4 標(biāo)準(zhǔn)7位ASCII

48734-00-026-01

● Unicode。Unicode也是一種國(guó)際標(biāo)準(zhǔn)編碼,采用兩個(gè)字節(jié)編碼,能夠表示世界上所有的書(shū)寫(xiě)語(yǔ)言中可能用于計(jì)算機(jī)通信的文字和其他符號(hào)。目前,Unicode已在網(wǎng)絡(luò)、Windows操作系統(tǒng)和大型軟件中得到應(yīng)用。

2. 漢字的編碼

在計(jì)算機(jī)中,漢字信息的傳播和交換必須有統(tǒng)一的編碼才不會(huì)造成混亂和差錯(cuò)。因此計(jì)算機(jī)中處理的漢字是指包含在國(guó)家或國(guó)際組織制定的漢字字符集中的漢字,常用的漢字字符集包括GB2312、GB18030、GBK和CJK編碼等。為了使每個(gè)漢字有一個(gè)全國(guó)統(tǒng)一的代碼,我國(guó)頒布了漢字編碼的國(guó)家標(biāo)準(zhǔn),即GB2312-80《信息交換用漢字編碼字符集》基本集,這個(gè)字符集是目前國(guó)內(nèi)所有漢字系統(tǒng)的統(tǒng)一標(biāo)準(zhǔn)。

漢字的編碼方式主要有以下4種。

● 輸入碼。輸入碼也稱外碼,是指為了將漢字輸入計(jì)算機(jī)而設(shè)計(jì)的代碼,包括音碼、形碼和音形碼等。

● 區(qū)位碼。將GB2312字符集放置在一個(gè)94行(每一行稱為“區(qū)”)、94列(每一列稱為“位”)的方陣中,方陣中的每個(gè)漢字所對(duì)應(yīng)的區(qū)號(hào)和位號(hào)組合起來(lái)就得到了該漢字的區(qū)位碼。區(qū)位碼用4位數(shù)字編碼,前兩位叫作區(qū)碼,后兩位叫作位碼,如漢字“中”的區(qū)位碼為5448。

● 國(guó)標(biāo)碼。國(guó)標(biāo)碼采用兩個(gè)字節(jié)表示一個(gè)漢字,將漢字區(qū)位碼中的十進(jìn)制區(qū)號(hào)和位號(hào)分別轉(zhuǎn)換成十六制數(shù),再分別加上20H,就可以得到該漢字的國(guó)際碼。例如,“中”字的區(qū)位碼為5448,區(qū)號(hào)54對(duì)應(yīng)的十六進(jìn)轉(zhuǎn)數(shù)為36,加上20H,即為56H,而位號(hào)48對(duì)應(yīng)的十六進(jìn)制數(shù)為30,加上20H,即為50H,所以“中”字的國(guó)標(biāo)碼為5650H。

● 機(jī)內(nèi)碼。在計(jì)算機(jī)內(nèi)部進(jìn)行存儲(chǔ)與處理所使用的代碼,稱為機(jī)內(nèi)碼。對(duì)漢字系統(tǒng)來(lái)說(shuō),漢字機(jī)內(nèi)碼規(guī)定在漢字國(guó)標(biāo)碼的基礎(chǔ)上,每字節(jié)的最高位置為1,每字節(jié)的低7位為漢字信息。將國(guó)標(biāo)碼的兩個(gè)字節(jié)編碼分別加上80H(即10000000B),便可以得到機(jī)內(nèi)碼,如漢字“中”的機(jī)內(nèi)碼為D6D0H。

主站蜘蛛池模板: 长葛市| 密山市| 义乌市| 尼玛县| 闵行区| 烟台市| 通榆县| 海安县| 丰台区| 哈巴河县| 宾川县| 百色市| 连江县| 山西省| 苏尼特左旗| 金溪县| 康保县| 阜平县| 绿春县| 桦甸市| 渝北区| 东港市| 徐闻县| 广南县| 隆化县| 明光市| 荥阳市| 湘西| 双辽市| 苏尼特右旗| 遂平县| 张家港市| 莒南县| 汉川市| 乌恰县| 布尔津县| 铁岭市| 天全县| 太仓市| 泊头市| 龙井市|