大学计算机基础(第二版)
上QQ阅读APP看书,第一时间看更新

1.2 信息编码

信息本身是摸不到、看不着的,但是可以用一定的方式把它表现出来,如图1-17所示,2008年汶川地震时,受灾村民在山间田地发出的求救信号。

图1-17 汶川地震SOS求救信号

你知道身份证是如何编码的么?

330302××××××××2418

省、市、地区+出生年、月、日+顺序码+校验码(0~9,X)

信息编码实际上是采用某种原则或方法编制代码来表示信息。而进行信息编码的主要原因是希望对信息进行有效处理和加密等。

1.2.1 二进制编码

在客观世界中,大量事物、概念的存在状态与变化方式都可以用“0”“1”两种符号来表示:

①电灯亮与不亮——两态。

②门开着与门关着——两态。

③铃响着与铃不响——两态。

④座位空着与座位有人——两态。

⑤硬币的正-反。

⑥电梯的上-下。

⑦东西的大-小。

这种只有数字“0”和“1”两个数的计数方法,称为二进制。

1.2.2 计算机中的编码

计算机是怎样“看见”文字图片、“听见”声音的呢?计算机只能处理“0”“1”组成的二进制代码,所以计算机处理信息时,先要对信息进行二进制编码。图1-18所示为计算机处理信息示意图。

图1-18 计算机处理信息示意图

1.2.3 二进制编码举例

就考试时使用的机读卡而言,由于“阅卡人”是计算机,所以答题信息必须让计算机看懂,而计算机只能识别“0”“1”符号串组成的代码,所以机读卡才设计成“涂黑”和“空白”两种状态。如图1-19所示,正好可以用“1”和“0”来表示,符合计算机识别和处理信息的特点。

图1-19 机读卡

1.2.4 生活中的进制

①数学课上加减法的法则(十进制):逢十进一,借一当十。

②成语“半斤八两”(十六进制):在古代,1斤等于16两。

在日常生活中,人们对数值的描述有多种进制形式,如一般采用十进制计数,采用六十进制计时,采用七进制表示一个星期等,如图1-20所示。

图1-20 生活中的进制

1.2.5 进制比较

各进制之间的比较如表1-1所示。

表1-1 进制转换

1.2.6 数制间的转换

1.十进制转换为二进制

十进制数转换成二进制数的方法是:整数部分采用除2取余法,即反复除以2直到商为0,取余数;小数部分采用乘2取整法,即反复乘以2取整数,直到小数为0或取到足够二进制位数。

例如,将十进制数25.625转换成二进制数,其过程如下:

①先转换整数部分:

转换结果:(25)10=(11001)2

②再转换小数部分:

转换结果为:(0.625)10=(0.101)2

③最后结果:(25.625)10=(11001.101)2

如果一个十进制小数不能完全准确地转换成二进制小数,可以根据精度要求转换到小数点后某一位停止。例如,0.36取四位二进制小数为0.0101。

2.二进制数转换为十进制

二进制数转换成十进制数的方法是:按权相加法,把每一位二进制数所在的权值相加得到对应的十进制数。各位上的权值是基数2的若干次幂。例如:

(1101.11)2=1×23+1×22+0×21+1×20+1×2-1+1×2-2=(13.75)10

3.二进制与八进制、十六进制的相互转换

每一位八进制数对应三位二进制数,每一位十六进制数对应四位二进制数,这样大大缩短了二进制数的位数。

①二进制数转换成八进制数的方法是:以小数点为基准,整数部分从右至左,每三位一组,最高位不足三位时,前面补0;小数部分从左至右,每三位一组,不足三位时,后面补0,每组对应一位八进制数。

例如,二进制数(01011.01)2转换成八进制数为:

即(01011.01)2=(13.2)8

②八进制数转换成二进制数的方法是:把每位八进制数写成对应的三位二进制数。

例如,八进制数(47.3)8转换成二进制数为:

即(47.3)8=(100111.011)2

同理,二进制数(10101.11)2转换成十六进制数为:

即(10101.11)2=(15.C)16

③十六进制数转换成二进制数的方法是:把每位十六进制数写成对应的四位二进制数。

例如,十六进制数(4F.8)16转换成二进制数为:

即(4F.8)16=(1001111.1)2

4.八、十六进制数与十进制的相互转换

八进制、十六进制数转换成十进制数,也是采用“按权相加”法。例如:

(25.14)8=2×81+5×80+1×8-1+4×8-2=(21.0703)10

(AB.6)16=10×161+11×160+6×16-1=(171.375)10

十进制整数转换成八进制、十六进制数,采用除8、16取余法。十进制数小数转换成八进制、十六进制小数采用乘8、16取整法。

1.2.7 数据单位

计算机中采用二进制数来存储数据信息,常用的数据单位有以下几种:

1.位(bit)

位是指二进制数的一位0或1,又称比特(bit),它是计算机存储数据的最小单位。

2.字节(Byte)

8位二进制数为一个字节,缩写为B。字节是存储数据的基本单位。通常,一个字节可以存放一个英文字母或数字,两个字节可存放一个汉字。

存储容量单位还有千字节(KB)、兆字节(MB)、吉字节(GB),它们之间的换算关系为(以210=1024为一级):

1B=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB

3.字(word)

字由一个或多个字节组成。字与字长有关。字长是指CPU能同时处理二进制数据的位数,分8位、16位、32位、64位等,如486机字长为32位,字由4个字节组成。

1.2.8 字符编码(ASCII码)

字母、数字等各种字符都必须按约定的规则用二进制编码才能在计算机中表示。目前,国际上使用最为广泛的是美国标准信息交换码(American Standard Code for Information Interchange,ASCII)。

通用的ASCII码有128个元素,它包含0~9共10个数字、52个英文大小写字母、32个各种标点符号和运算符号、34个通用控制码。

计算机在存储使用时,一个ASCII码字符用一个字节表示,最高位为0,低7位用0或1的组合来表示不同的字符或控制码。例如,字母A和a的ASCII码为:A为01000001 a为01100001

其他字符和控制码的ASCII码如表1-2所示。

表1-2 通用ASCII码表

续表

1.2.9 汉字编码

为了满足汉字处理与交换的需要,1981年我国制定了国家标准信息交换汉字编码,即GB 2312—1980国标码。在该标准编码字符集中共收录了汉字和图形符号7445个,其中一级汉字3755个,二级汉字3008个,图形符号682个。

国标码是一种机器内部编码,在计算机存储和使用时,它采用两个字节来表示一个汉字,每个字节的最高位都为1。这样,不同系统之间的汉字信息可以相互交换。

需要说明的是,在Windows 95及以后的中文版操作系统中,采用了新的编码方法,并使用汉字扩充内码GBK大字符集,收录的汉字达2万以上,并与国标码兼容,这样可以方便地处理更多的汉字。

汉字编码的基本过程描述如图1-21所示。

图1-21 汉字编码示意图

①输入码包括音码(全拼)、形码(五笔)、音形码(搜狗)等。

②交换码又称区位码,如GB 2312—1980国际码。

③处理码又称机内码,是计算机内部处理和存储汉字时所用的代码。无论何种输入码输入的汉字都会转换成统一的机内码。

④字形码,如用点阵方式和矢量方式构造的汉字造型。

1.2.10 多媒体信息编码

1.概念

多媒体信息编码就是如何用二进制数码表示声音、图像和视频等信息,又称多媒体信息的数字化。

2.声音的数字化

通过采样和量化,将模拟信号转换成数字信号,如图1-22所示。

图1-22 声音的数字化

图1-22 声音的数字化(续)

3.图像的数字化

基本思想:把一幅图看成由许许多多或各种级别灰度的点组成,这些点纵横排列起来构成一幅画,这些点称为像素。每个像素有深浅不同的颜色,像素越多,排列越紧密,图像就越清晰。