
任务2 学习计算机中信息的表示方法
任务情境
计算机要处理的信息是多种多样的,如日常的十进制数、文字、符号、图形、图像和语言等。但是计算机无法直接“理解”这些信息,为了快速高效地理解这些信息,计算机中的数字和符号都是用电子元件的不同状态表示的,即以电信号表示。电信号只有两种,即“0”和“1”。所以计算机内部的信息都是以这两个状态的组合存储的,即二进制数。本任务就来了解计算机中信息的表示方法。
任务分解
(1)认识二进制数;
(2)掌握数制之间的转换;
(3)认识计算机中的信息单位;
(4)认识符号数据的编码方式。
任务实施
1.认识二进制数
1)进制
计数的方法有很多种,在日常生活中最常见的是国际上通用的计数方法——十进制计数法。但是除了十进制外还有其他计数制,如一天24小时,称为24进制,一小时60分钟,称为60进制,这些称为进位计数制。计算机中使用的是二进制。
为什么计算机中的数制不用我们熟悉的十进制表示,而是用二进制来表示?这是因为“数”在计算机中是通过电子器件的物理状态表示的。二进制数只需要两个数字符号0或1,就能表示两种不同的状态——低电平和高电平,其运算电路容易实现。而要制造出具有10种稳定状态的电子器件分别代表十进制中的10个数字符号是十分困难的。
2)二进制的表示
二进制和十进制采用的都是“带权计数法”,它包含两个基本要素:基数、位权。基数是一种进位计数制所使用的数码状态的个数。如十进制有十个数码:0、1、2……7、8、9,因此基数为10。二进制有两个数码:0和1,因此基数为2。
“位权”表示一个数码所在的位。数码所在的位不同,代表数的大小也不同。如十进制从右面起第一位是个位,第二位是十位,第三位是百位,……“个(100)、十(101)、百(102)、千(103)……”就是十进制位的“位权”。每一位数码与该位“位权”的乘积表示该位数值的大小。如十进制中9在个位上代表9,在十位上代表90。
一个长度为n的二进制数an-1…a1a0,用科学计数法表示为:
an-1…a1a0=an-1×2n-1+…+a1×21+a0×20
例如,二进制数10101用科学计数法表示:
10101=1×24+0×23+1×22+0×21+1×20
3)计算机中常用的进位计数制
在计算机世界中除了二进制外,还涉及八进制、十进制和十六进制。表1-2所示为进位计数制的表示。
表1-2 几个进位计数制的表示

2.掌握数制之间的转换
下面了解一下这几种进制之间的转换。
1)十进制整数转换成R进制整数(R表示八、十、十六等)
分两种情况进行:整数部分和小数部分。
整数:除R取余,逆序排列
小数:乘R取整,顺序排列
例:(241.43)10=(11110001.0110)2

2)二、八、十六进制数转换成十进制数
方法:按权展开求和。
例如:
(11010110)2=1×27+1×26+0×25+1×24+0×23+1×22+1×21+0×20=(214)10
(2365)8=2×83+3×82+6×81+5×80=(1269)10
(4BF)16=4×162+11×161+15×160=(1215)10
3)八进制数和十六进制数转换成二进制数(见表1-3)
表1-3 八进制与二进制、十六进制之间的关系

方法:将八进制数(或十六进制数)的每一位用相应的3位(或4位)二进制数代替即可。
例:将八进制数(357.162)8转换成二进制数。

即(357.162)8=(11101111.00111001)2
例:将十六进制数(5AB.8CE)16转换成二进制数。

即(5AB.8CE)16=(10110101011.10001100111)2
4)二进制数转换成八进制数和十六进制数
分整数部分和小数部分分别转换。
整数部分:从低位向高位每3/4位合成一组,高位不足3/4位用0补足3/4位,然后每组转换。
小数部分:从高位向低位每3/4位合成一组,低位不足3/4位用0补足3/4位,然后每组转换。
例:将二进制数(11011110.10110001)2转换成八进制数。

即(11011110.10110001)2=(336.542)8
例:将二进制数(1100101001011.001100101)2转换成十六进制数。

即(1100101001011.001100101)2=(194B.328)16
3.认识计算机中的信息单位
1)位(bit)
位是度量数据的最小单位,在数字电路和计算机技术中采用二进制,代码只有0和1,无论0还是1,在CPU中都是1位。
2)字节(B)
一个字节由八位二进制数组成(1B=8bit)。字节是信息组织和存储的基本单元,也是计算机体系结构的基本单元。
早期的计算机并无字节的概念,20世纪50年代中期,随着计算机逐渐从单纯用于科学计算扩展到数据处理领域,为了在体系结构上兼顾表示“数”和“字符”,就出现了“字节”。
为了便于衡量存储器的大小,统一以字节(B)为单位。常用的存储单元大小表示为:
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
4.认识符号数据的编码方式
计算机中的数据是广义的,除了数值数据信息之外,还有文字、数字、标点符号、各种功能控制符等符号数据(数字符号只表示符号本身,不表示数值的大小),符号数据又称非数值数据。下面简要介绍字符数据和汉字的编码方式。
1)西文字符编码
计算机中常用的字符编码有EBCDIC码和ASCII码。IBM系列大型机采用EBCDIC码,微型机采用ASCII码是美国标准信息交换码,被国际化组织指定为国际标准。它有7位码和8位码两种版本。国际的7位ASCII码是用7位二进制数表示一个字符的编码,其编码范围从0000000B~1111111B,共有27=128个不同的编码值,相应地可以表示128个不同的编码。
新版本的ASCII-8采用8位二进制编码表示,可表示256个字符。最高位为0的ASCII码称为标准ASCII码;最高位为1的128个ASCII码称为扩充ASCII码。
数字0~9的ASCII码为48~97;大写字母A~Z的ASCII码为65~90;小写字母a~z的ASCII码为97~112。小写英文字母的ASCII码值比对应的大写字母的ASCII码值大32。在ASCII码表中,基本是按数字、大写英文字母、小写英文字母的顺序排列的,排在后面的码值比排在前面的大。表1-4所示为7位ASCII码表。
表1-4 7位ASCII码表

2)中文字符编码
(1)汉字信息的交换码(国标码)。GB2312又称GB 2312—1980字符集,全称为《信息交换用汉字编码字符集基本集》,由国家标准总局发布,1981年10月1日开始实施。
汉字信息交换码简称交换码,又称国标码。规定了7445个字符编码,其中有682个非汉字图形符和6763个汉字的代码。有一级常用字3755个,二级常用字3008个。
两个字节存储一个国标码。区位码和国标码之间的转换方法是将一个汉字的十进制区号和十进制位号分别转换成十六进制数,然后再分别加上20H,就成为此汉字的国标码:
汉字国标码=[区号(十六进制数)+20H][位号(十六进制数)+20H]
(2)汉字输入码。又称外码,都是由键盘上的字符和数字组成的。目前流行的编码方案有全拼输入法、双拼输入法、自然码输入法和五笔输入法等。
(3)汉字内码。汉字内码是在计算机内部对汉字进行存储、处理的汉字代码,它应能满足存储、处理和传输的要求。一个汉字输入计算机后就转换为内码。内码需要两个字节存储,每个字节以最高位置“1”作为内码的标识。
汉字机内码=汉字国标码+8080H
(4)汉字字形码。又称字模或汉字输出码。在计算机中,8个二进制位组成一个字节,它是度量空间的基本单位,可见一个16×16点阵的字形码需要16×16/8=32字节存储空间。
(5)汉字地址码。是指汉字库中存储汉字字形信息的逻辑地址码。它与汉字内码有着简单的对应关系,以简化内码到地址码的转换。
3)汉字的处理过程
从汉字编码的角度看,计算机对汉字信息的处理过程实际上就是各种汉字编码间的转换过程。这些编码主要包括:汉字输入码、汉字内码、汉字地址码、汉字字形码等。汉字信息处理的流程如图1-5所示。

图1-5 汉字信息处理流程