1.1 計算機中數據的分類和表示方法
學習目標
1.了解計算機中信息的分類及表示方法。
2.理解ASCII編碼、漢字編碼。
內容提要
1.計算機內部信息的分類
1)信息分類
計算機內部存儲、傳送的信息分為兩大類:控制類信息、數據類信息。計算機內部的信息類型如圖1-1-1所示。

圖1-1-1 計算機中信息的分類
控制信息用于對計算機內部各個組成部件的控制,完成對數據信息的加工處理。
數據信息是計算機加工處理的對象,數據類信息簡稱數據。
2)數據的分類
數據的分類方法比較多。通常,根據數據是否具有可度量性將數據分為兩種:數值數據、非數值數據。
(1)數值數據 數值數據是可以測量的、可以計數出來的數據,通常稱為數字。如11000011B、195、195D、303Q、C3H 等。數值數據按小數點的處理可分為定點數、浮點數。定點數又可細分為定點整數、定點小數。
(2)非數值數據 數值數據以外的數據為非數值數據。主要有字符數據和邏輯數據。字母a、漢字、中英標點符號等是字符數據;“真”、“假”等是邏輯數據。
2.計算機中數據的表示
1)數據的表示方法
(1)數值數據的表示方法
數值型數據用機器數表示,機器數主要有原碼、反碼和補碼三種形式。
(2)非數值數據的表示方法
字符數據主要有ASCII編碼、漢字編碼;邏輯數據常用“0”表示假,用“1”或非“0”表示真。
注意 數值數據、非數值數據在計算機內部是以二進制代碼表示的。
2)數據的單位
(1)位 位(bit)是二進制數據位,是計算機中最小的數據單位,通常用小寫字母b表示。每個位(1b)有0或1共2種狀態;連續的2個位(2b)有00、01、10和11共4種狀態;連續的n個位(nb)有2n種狀態。
(2)字節 字節(Byte)是計算機中基本的數據單位。1個字節由連續的8個二進制位組成,通常用大寫字母B表示,1 B=8 b。
(3)字 字(Word)是計算機處理事務時一次能夠處理的一個固定長度的位組。這一個字的位數即字長,字長是計算機系統結構的重要特性。不同型號的CPU字長不相同,用8 b、16 b、32 b等區分,字長通常是字節的整數倍。
注意 在計算機內部進行數據傳送時,或CPU進行數據處理時常用字長作為基本單位。
(4)扇區 扇區(Sector)是計算機從磁盤讀取數據或向磁盤寫入數據時最小讀/寫單位。磁盤的每一面被劃分為很多同心圓,即磁道,磁道又按512個字節(512 B)為單位劃分為等分,稱為扇區。
存儲單位之間的換算關系見表1-1-1。
表1-1-1 常用存儲單位的換算關系表

3.ASCII編碼與漢字編碼
1)ASCII編碼
ASCII編碼是美國信息交換標準碼,1967年被國際標準化組織(ISO)認定為國際標準,又稱為西文字符編碼。ASCII編碼是7位二進制編碼,所以可以表示128個字符(27=128)。如字符A的二進制編碼為100 0001 B。
西文字符機內碼為單字節編碼,在7位ASCII編碼前加0而得,即最高位為0。則字符A的機內碼為0100 0001 B,即41 H。
注意 西文字符大小關系是如下:
空格<0<1<……<9<A<B<……<X<Y<Z<a<b<……<x<y<z
其中,0、A和a三個字符編碼的值依次是48D、65D和97D,同一字母大小寫的值相差32D。
2)漢字編碼
漢字作為字符,由于其自身的特點,其編碼比西文字符復雜,需要采取特殊的方式描述漢字。計算機中漢字編碼涉及漢字的輸入碼、國標碼、機內碼和輸出碼四個方面。
(1)漢字輸入碼
漢字與計算機鍵盤沒有直接的對應關系,為了通過鍵盤直接輸入漢字,就需要為漢字設計相應的輸入編碼,即漢字輸入碼。常用的漢字輸入碼有字音編碼、字形編碼、數字編碼。
① 字音編碼 字音編碼是根據漢字的讀音進行編碼,字音編碼方案很多,最常見的有漢語拼音編碼,如“漢”、“字”兩字的全拼拼音編碼為“han”、“zi”。字音編碼的優點是“聽音知碼”,缺點是由于漢字同音字很多、多音字也多而造成重碼多,影響錄入速度。
② 字形編碼 字形編碼是根據漢字字型進行編碼,典型的有五筆字型編碼。如“漢”、“字”兩字的五筆字型編碼為IC、PB。字型編碼的優點是“見字知碼”,缺點是五筆字型學習時需要記憶字根和掌握拆字技巧,有一定的難度。
③ 數字編碼 數字編碼是用數字為每個漢字字符進行編碼,常見的有區位碼、電報碼等。如“漢”“字”兩字的區位碼為2626、5554;它們的電報碼為3352、1316。數字碼的優點是沒有重碼,缺點是編碼與漢字的字音、字形、字意之間聯系很少,難以記憶。
④ 區位碼 漢字區位碼是很重要的數字編碼,每個漢字的區位碼由區碼和位碼兩部分組成,前兩位為區碼、后兩位為位碼。如“字”的區位碼是5554(讀成五五、五四),其中前面兩位55為區碼,后兩位54為位碼。
注意 漢字的輸入碼編碼的特點和優缺點
(2)漢字國標碼
國標碼是漢字在計算機信息交換中通用標準,我國1981年公布的國家標準GB2312-80《信息交換用漢字編碼字符集·基本集》,簡稱國標碼,有時簡寫為GB2312-80。國標碼是在區位碼的基礎上獲得的。區位碼的區碼+20H、位碼+20H 得到了國標碼。如已知“字”的區位碼是5554,則
55+20H=31H+20H=51H
54+20H=30H+20H=50H
可得,“字”的國標碼是5150H。
4.漢字機內碼
漢字機內碼是漢字在計算機內部存儲、交換、檢索等操作的信息代碼。由于漢字總數超過128個,所以每個漢字編碼使用兩個字節。為了解決與西文字符兼容問題,表示漢字的每個字節最高位置為“1”,得到漢字機內碼。雙字節編碼技術最多可以對16384個漢字(22*7=16384)進行編碼。
目前,應用最廣的漢字機內碼是以國標碼為基礎,國標碼+8080H 得到了機內碼。如已知“字”的國標碼是5150H,則
5150H+8080H=D1D0H
可得,“字”的機內碼是D1D0H,即11010001 11010000B。
注意 漢字的區位碼、國標碼與機內碼等漢字的編碼形式,相互之間有高度的聯系,需要掌握三者間相互換算的方法。
5.漢字輸出碼
漢字輸出碼是計算機中用于輸出漢字的一種編碼,是用點陣表示漢字的字型代碼。漢字輸出碼又稱為漢字字模碼、漢字字形碼。
由于漢字的字體不同、字形不同、字號不同,其點陣的多少也不同。漢字輸出碼是用二進制數對字形進行信息化處理的結果。漢字輸出碼有16*16點陣、24*24點陣、32*32點陣、64*64點陣、96*96點陣、128*128點陣等。如某漢字的輸出碼是24*24點陣的編碼,則該漢字編碼共使用576個二進制位(24×24=576 b),即需要用72 B(即576/8=72 B)的存儲空間。
例題解析
【例1-1-1】下列數據中,計算機能夠直接識別的是( )。
A.10010110B
B.10010110H
C.10010110
D.10010110Q
分析 本題要點有兩個:一是計算機中處理、存儲的數據都是二進制,二進制數據是計算機唯一能夠直接識別的數據;二是B為二進制、Q為八進制、D(或默認)為十進制、H為十六進制。答案A是二進制、答案B是十六進制、答案C是十進制、答案D是八進制。
答案 A
【例1-1-2】計算機內部,處理數據的基本單位是( )。
A.位
B.字節
C.字
D.扇區
分析 答案A是位,位是組成數據的最小單位;答案B是字節,即8個連續的二進制位,表示存儲容量、文件大小的基本單位,也是最小的存儲單位;答案C是字,字是計算機內部數據處理、傳送的重要參數,字的長度一般是字節的整數倍;答案D是扇區,是計算機對磁盤進行讀/寫時的最小單位。
答案 C
【例1-1-3】以下輸入碼中沒有重碼的是( )。
A.智能ABC
B.區位碼
C.五筆字型
D.搜狗拼音
分析 重點是考查各種輸入碼的理解。答案A、D屬于字音編碼,重碼比較多;答案B屬于數字編碼,每個編碼對應的字符是唯一的,沒有重碼;答案C為字形編碼也有重碼。
答案 B
【例1-1-4】計算機中使用最廣泛的字符編碼是( )。
A.拼音碼
B.區位碼
C.五筆字型
D.ASCII碼
分析 ASCII編碼是國際標準化組織(ISO)于1967年認定的國際標準,幾乎應用于每一臺計算機上,而拼音碼、區位碼、五筆字型等屬于漢字編碼,雖然使用人數眾多,但遠沒有ASCII編碼廣泛。
答案 D
【例1-1-5】( )(江蘇省單招考題2010年B)計算機內部使用的數據有二進制、八進制和十六進制。
分析 二進制編碼是計算機唯一能夠直接識別、處理、存儲的編碼,計算機內部使用的只有二進制。在計算機中應用八進制、十六進制等,是為了人們讀、寫、記憶與交流的方便。
答案 錯
【例1-1-6】( )西文字符的輸入碼、機內碼和輸出碼三者是相同的。
分析 由于計算機鍵盤一般是美式鍵盤,西文字符在鍵盤上均有相應的鍵,在ASCII碼表列出的二進制編碼前加一個0為西文字符的機內碼。輸入時只需按相應的鍵,由系統轉換成機內碼,輸入碼就是其鍵面字符本身。計算機將結果輸出時,將機內碼送往顯示器或打印機,再通過其中的字符發生器轉換為ASCII字符圖形,即輸出碼。西文字符的輸入碼、機內碼和輸出碼三者雖然是統一的,卻并不是相同的。
答案 錯
【例1-1-7】( )區位碼轉換為機內碼時,只要將區碼、位碼分別加A0H。
分析 漢字區位碼的區碼、位碼分別加20H得到該漢字的國標碼,國標碼加8080H得到機內碼。而區位碼的區碼、位碼分別加A0H是直接得到機內碼。
答案 對
【例1-1-8】(江蘇省單招考題2012年)計算機內部傳送的信息分為控制信息和______信息兩大類。
分析 計算機內部的信息分為兩類:控制信息、數據信息。控制信息用于對計算機內部各個組成部件的控制,完成對數據信息的加工處理。數據信息是計算機加工處理的對象。
答案 數據
【例1-1-9】(江蘇省單招考題2012年)1024個漢字,用內碼存儲,需要1 K×8 bit的存儲芯片________片。
分析 本題重點是考查漢字編碼所需要空間大小。每個漢字編碼使用2個字節,
1024個*2B/個=2048B= 2KB
答案 2

拓展與變換 本題如果將1024個漢字改為600個漢字,答案是多少?
【例1-1-10】存儲楷體GB2312-80中所有字符的16*16點陣的字型碼,需要______個扇區。
分析 每個漢字16*16點陣的字型碼大小為16*16/8=32 B,GB2312-80中所有字符總數為7445個,所以總的字節數為7445*32=238240 B;而每個扇區大小為512 B,則所需扇區數為238240/512=465.3≈466。
答案 466
【例1-1-11】西文字符與漢字字符機內編碼的特征是什么?
分析 西文字符機內碼為單字節編碼,字長為 8 位,但它的最高位均為 0。漢字的機內碼為雙字節編碼,字長為2*8位,每個字節的最高位均為1,以示與西文字符機內碼區別開來。
西文字符編碼: 0*** ****
漢字字符編碼: 1*** **** 1*** ****
其中,“*”為二進制數“0”或“1”。當計算機進行字符編碼處理時,最高位為0的字節,每個字節均作為1個西文字符處理;而最高位為1的字節,每連續兩個字節作為1個漢字字符處理。計算機在處理字符時,根據每個字節的最高位是“0”或“1”,能夠識別其是西文字符編碼還是漢字編碼,很好地解決了漢字與西文字符的并存。
答案 每個西文字符機內碼用1個字節編碼,它的最高位為0,而每個漢字字符機內碼用2個字節,每個字節的最高位全部為1。
拓展與變換 根據西文字符機內碼二進制編碼最高位為0,則其十六進制編碼<80H;漢字字符機內碼二進制編碼最高位為1,則其十六進制編碼每個字節>A0H,可以判斷出以下機內碼串中哪個是漢字字符,哪個是二個西方字符( )。
A.4319H
B.E39BH
C.4B33H
D.CBB3H
鞏固練習
一、單項選擇題
1.在16*16點陣的漢字庫中,存儲一個漢字的字形碼需要的字節數是( )。
A.256
B.32
C.16
D.2
2.用24*24點陣表示漢字“江”和用16*16點陣表示漢字“蘇”,它們的機內碼在內存中占用的字節數相比較,正確的是( )。
A.“江”字比“蘇”字占用得多
B.“蘇”字比“江”字占用得多
C.兩個字相同
D.無法確定
3.(江蘇省單招考題2008年)計算機中的字符,一般采用ASCII編碼方案。若已知“T”的ASCII碼值為55H,則可推出“P”的ASCII碼值是( )。
A.54H
B.53H
C.52H
D.51H
4.下列字符中,ASCII碼值最大的是( )。
A.空格
B.B
C.1
D.a
5.顯示或打印漢字時,系統使用的漢字的編碼是( )。
A.機內碼
B.國標碼
C.輸入碼
D.字形碼
6.某漢字的區位碼是“4319”,則它的機內碼十六進制表示為( )。
A.4319H
B.E3B9H
C.4B33H
D.CBB3H
二、判斷題
7.( )(江蘇省單招考題2013年)微型計算機中常用16位二進制數代碼來表示一個字符的ASCII碼。
8.( )1000個24*24點陣的漢字,需要占31.25 KB的存儲容量。
9.( )在ASCII表中字符編碼值由小到的排列是數字<大字字母<小寫字母。
10.( )計算機中最小的數據單位是字節。
11.( )使用不同的方法輸入一個漢字,其機內碼是相同的。
12.( )由于聲音、圖像包含的信息量很大,在計算機內部使用十六進制存儲。
13.( )在微型計算機中ASCII碼用7位表示,所以在ASCII也用7位存儲。
14.( )ASCII字符編碼的值均小于128。
15.( )漢字字符機內碼,每個字節都大于128。
16.( )漢字“單”、“招”的區位碼分別為2105、5348,那么,它們的機內碼依次為10110101 10100101B、11010101 11010000B。
17.( )計算機存儲一個全角的英文字母與存儲二個半角的英文字母的內碼占用的字節數相同。
18.( )計算機內部對數據的傳輸、處理使用二進制數,對數據的存儲使用十進制數。
三、填空題
19.(江蘇省單招考題2008年)目前,微型計算機中通用的編碼是美國標準信息交換碼,簡稱______碼。
20.(江蘇省單招考題2009年)漢字“啊”的機內碼是B0A1H,對應的區位碼是______。
21.如果數字字符“1”的 ASCII 碼的十進制表示為 49,那么,數字字符“6”的 ASCII碼的十進制表示為______。
22.已知某漢字的區位碼是4353,則它的國標碼是______H、機內碼是______H。
23.如果某漢字的機內碼是B1AEH,則它的國標碼是______、區位碼是______。
24.計算機中一串機內碼為9023B3C567D4CC895EE5643297H,其中,可能包含______個漢字。
25.要實現35種字符編碼,至少需要______位二進制數。