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种字符编码,至少需要______位二进制数。