《第2章信息编码及在计算机中的表示》由会员分享,可在线阅读,更多相关《第2章信息编码及在计算机中的表示(16页珍藏版)》请在金锄头文库上搜索。
1、第 2 章 信息编码及在计算机中的表示2.1 信息的数字化编码编码:是用来将信息从一种形式转变为另一种形式的符号系统,通常选用少量最简单的基本符号和一定的组合规则,以表示出大量复杂多样的信息。信息的数字化编码:是指用“0”或“1”这种量最少、最简单的二进制数码,并选用一定的组合规则,来表示数据、文字、声音、图形和图像等各种复杂的信息。计算机中采用的是二进制数码,为什么?(重点)2.2 进位计数制及其相互转换2.2.1 进位计数制数制中的三个基本名词术语:数码:用不同的数字符号来表示一种数制的数值,这些数字符号称为“数码” 。基: 数制所使用的数码个数称为“基” 。权: 某数制各位所具有的值称为
2、“权” 。 1.十进制数(Decimal System)数码:0、1、 8、9基:10(逢十进一,借一当十)权:以 10 为底的幂任何一个十进制数 DnDn-1D1D0D-1,可以表示成按权展开的多项式:Dn10nDn-110n-1D1101D0100D-110-1D-m10-m例如:1234.5 的按权展开多项为:1234.51103210231014100510-1 二进制数二进制(Binary System) 数码: 0 和 1基:2权:以 2 为底的幂任何一个二进制数 BnBn-1B1B0B-1B-m,可以表示成按权展开的多项式:Bn2nBn-12n-1B121B020B-12-1B(
3、-m+1)2-(m-1)+B-m2-m例如: 1101.01 的按权展开多项为:1101.0112312202112002-112-2 八进制数八进制数(Octave System)数码: 0、1、 6、7 基: 8权:以 8 为底的幂八进制数的一般式可以表示为:n8nn-18n-1181080-18-1(-m+1)8-(m-1) -m8-m 十六进制数十六进制(Hexadecimal System)数码: 0、1、 8、9、A(1010) 、B(1011) 、C(1100) 、D(1101) 、E(1110) 、F(1111) 基: 16权:以 8 为底的幂十六进制数的一般式可以表示为:n1
4、6nn-116n-111610160-116-1(-m+1)16-(m-1) -m16-m例: 二进制数 1011.0101 及其对应的八进制数、十进制数和十六进制数可以表示为:1101.0111(2)15.34(8)13.4375(10)E.7(16)或: (1101.0111)2(15.34)8(13.4375)10(E.7)16或: 1101.011115.3413.4375E.72.2.2 常用进位计数制间的相互转换 二进制数、八进制数、十六进制数转换为十进制数各种进位计数制可统一表示为下式:式中:R 某种进位计数制的基数;i 位序号;Ki 第 i 位上的一个数码为 0R-1 中的任一
5、个;Ri 则表示第 i 位上的权;m,n 最低位和最高位的位序号。 用上式可将任何一个二进制数、八进制数、十六进制数直接转换为十进制数,这叫做按权展开法。 例: 二进制数转换为十进制数(1011.0101)212302212112002-112-202-312-4802101/401/16(11.3125)10 八进制数转换为十进制数(75.21)878158028-118-25652/81/64 (45.20238)10 十六进制数转换为十进制数(175.FB)161162716151601516-11116-2256112515/1611/162(373.98046875)10十进制数转换
6、为二进制数 十进制整数转换为二进制数 (连除基数、倒取余)方法:除以 2 取余法。即逐次除以 2,直至商为 0,得出的余数即为二进制数各位的数码。 【例 2.1】 把一个十进制数 156 转换为二进制数。结果:(156)10(10011100)2 十进制纯小数转换为二进制数方法:乘 2 取整法。即逐次乘以 2,从每次乘积的整数部分得到二进制数各位的数码。【例 2.2】把十进制小数 0.34375 转换为二进制小数。结果:(0.34375)10(0.01011)2 连乘基数、正向取整二进制数与八进制数的转换 1.二进制数转换成八进制数方法:将二进制数从小数点开始分别向左(对二进制整数)或向右(对
7、二进制小数) 每三位组成一组,每一组有 3 位二进制数,转换成八进制数码中的 1 个数字,连接起来即可。不足3 位的补 0。【例 2.3】 把二进制数(101100011.011100101)2 转换为八进制数。101 100 011. 011 100 1015 4 3 . 3 4 5即有:(101100011.011100101)2(543.345)8二进制数与八进制数的转换 2.八进制数转换成二进制数方法:将每 1 位八进制数写成相应二进制 3 位数,顺序写好即成。【例 2.4】 把八进制数(7351.65)8 转换为二进制数。 7 3 5 1 . 6 5111 011 101 001.
8、110 101即有: (7351.65)8(111011101001.110101)2二进制数与十六进制数的转换 二进制数转换成十六进制数方法:把十六进制数每位的数字与二进制数的 4 位数相对应。【例 2.5】把二进制数(110100110101)2 转换为十六进制数。1101 0011 0101 D 3 5即有: (110100110101)2(D35)16二进制数与十六进制数的转换 十六进制数转换成二进制数方法:将每 1 位十六进制数写成相应的二进制 4 位数,顺序写好即成。例如:E 8 B1110 1000 1011即有:(E8B)16(111010001011)2 对于十进制数转换为八
9、进制数或十六进制数的问题,我们可以先把十进制数转换成二进制数,然后再转换为八进制数或十六进制数。4 种数制之间的转换可参照下表进行2.3 非数值数据的表示2.3.1 字符数据的编码非数值数据又叫符号数据或字符数据,包括字母和符号。目前世界上用 ASCII 码(American Standard Code for Information Interchange)来表示。ASCII 码有 7 位 ASCII 码和 8 位ASCII 码两种,7 位 ASCII 码称为标准 ASCII 码,8 位 ASCII 码称为扩充 ASCII 码。 2.3.2 汉字编码汉字编码:机内码和机外码机内码:是在计算机
10、内部使用的用二进制代码表示的汉字编码,用于在计算机内部存储、交换、处理加工汉字信息机外码:是不在计算机内使用的汉字编码,主要是指汉字输入码。此外还有供输出的汉字字型点阵码。 国标码 (了解)国标码:指我国 1981 年公布的“中华人民共和国国家标准信息交换汉字编码” ,是一种国家标准编码,代号为“GB2312-80” 。它以 94 个可显示的 ASCII 码字符为基集,由两个字节构成。国标码与 ASCII 码属同一制式,可以认为国标码是扩展的 ASCII 码。 国家标准(GB2312-80)汉字字符集示意图 国标码用两个字节的 16 进制数表示,例如“文”的国标码是“4E44H” , “中华人
11、民共和国”的国标码分别是“5650H、3B2AH、484BH、4371H、3932H、3A4DH、397AH” 。 汉字机内码 (实质:汉字的地址)汉字机内码:在计算机系统内部用来表示汉字的编码。 ASCII 码是一种西文机内码,在设计汉字机内码时,应遵循如下原则: 汉字机内码的编码不能有二义性,否则和其他编码分不清,例如要能和 ASCII 码严格区分。 代码的长度尽可能短,所能表示的汉字要尽可能多。 应与国标码有相应的对应关系,以便于对汉字库的处理和对汉字的查找。 汉字机内码与国标码的关系汉字机内码高位字节国标码高位字节80H汉字机内码低位字节国标码低位字节80H例如:“文”的国标码是“4E
12、44H” ,要求它的机内码,只要把“文”字国标码两个字节的16 进制数 4EH 和 44H 分别加 80H,即成该汉字的机内码。4EH+80H=CEH44H+80H=C4H 汉字输入码 (机外码)汉字输入码:指直接从键盘输入的各种汉字输入方法的编码,属于外码。按照编码原理,汉字输入码主要分为三类:数字码(区位码和电报码) 、拼音码和字形码。还有以汉字的音和形相结合的音形码和形音码。 数字码 数字码:将待编码的汉字集以一定的规则排序以后,依次逐个赋予相应的数字串作为汉字输入代码。典型的数字码:区位码和电报码优点:无重码 缺点:代码难以记忆。区位码与国标码、机内码的对应关系为:用十进制数输入的区码
13、和位码先分别转换为十六进制数(各一个字节),再分别加上 20H,就成了国标码;再在两个字节分别加上 80H,就成为机内码。例如, “文”字的区位码为 4636,区码和位码分别用十六进制表 示即为“2E24H” ,转换成国标码就是“4E44H” ,它的机内码为“CEC4H” 。 拼音码:汉语拼音方案为基础的输入方法最大优点:简单易学,只要会汉语拼音,就能输入汉字,并且输入时不影响思考,适合于业务人员和专业技术人员使用。全拼输入法双拼输入法增加联想功能以词为单位的智能拼音输入法 字形码:以汉字的形状确定的编码最大特点:能广泛地为国内外不同地区使用汉字方言较重的人们服务缺点:编码规则较复杂。典型:五
14、笔字型输入法 其它输入方法:音形码和形音码汉字字型码汉字点阵字模库(重点) 汉字信息存储在计算机内有两种编码:一种是汉字机内码,另一种是字型点阵码。 点阵字型方式:是把汉字像图形一样置于网状方格上,每格是存储器中的 1 个位(bit),1616 点阵是在纵向 16 点、横向 16 点的网状方格上描绘一个汉字,有笔划的格对应 1,无笔划的格对应 0。这种用点阵形式存储的汉字字型信息的集合称为汉字的点阵字模库,简称汉字库。汉字点阵字模的分类 汉字字符集(了解) 目前,在我国使用的计算机汉字操作平台中有三种汉字字符集。 国标码字符集 GB2312-80:我国政府于 1981 年公布的信息交换用汉字编
15、码字符集 基本集 ,在该字符集中收录了 6763 个常用汉字和各种符号 682 个,合计 7445 个。 GBK 汉字集:即汉字内码扩充规范,”大字符集” 。在此汉字集中一共收录了 20900 个汉字,它包容了 GB2312-80 的 6763 个常用汉字,台湾 BIG5 码的 13000 多个汉字。此扩充规范发布后,美国的 Microsoft 公司率先将 GBK 规范装入 Windows95 中。在 Windows95 简体中文版中,又增加了 101 个补充字,一共有 21001 个字。 国标码 GB18030 字符集:即 GB18030-2000 信息技术 信息交换用汉字编码字符集 基本集的扩充新标准。该字符集共收录了 27000 多个汉字,总编码空间超过 150 万个码位,是真正的大汉字集。它在体系结构上延续了 GB2311-1990信息处理 七位和八位编码字符集 代码扩充技术编码体系,采用单/双/四字节混合编码,该标准还收录了藏文、蒙文、维吾尔等主要的少数民族文字,以及世