预习非数值数据的编码方式
非数值数据的类型
一、逻辑值
逻辑数据:将一个n位数据看成由n个1位数据组成,每个取值为0和1;n位二进制数可表示n个逻辑值;逻辑数据只能参加逻辑运算,并且是按位进行;逻辑数据是一串0/1序列。
二、西文字符
由阿拉丁字母、数字、标点符号及一些特殊符号所组成,统称为字符。字符不能直接在计算机内部进行处理,因而也必须对其进行数字化的编码,字符集中的每一个字符都有一个代码(即二进制编码的0/1序列),构成了该字符集的代码表,简称码表。码表中的代码具有唯一性。
ASCII码表(美国标准信息交换码)
三、汉字字符
汉字系统需要处理的汉字代码:输入码,内码,字模点阵码。
①对每个汉字用相应的按键进行的编码表示称为汉字的输入码,又称外码。汉字的输入吗的码元(即组成编码的基本元素)是西文键盘中的某个按键。
②字符集与汉字内码:
对于汉字内码的选择需考虑:
(1)不能有二义性,即不能和ASCII码有相同的编码;
(2)要与汉字在字库中的位置有关系,以便于汉字的处理、查找;
(3)编码应尽量短。
国际码(国际标准码):6763个常用汉字,为每个汉字规定了标准代码,以供汉字信息在不同的计算机系统之前交换使用;汉字的区位码并不是其国标码。
③汉字的字模点阵码和轮廓描述
字模点阵描述:将字库中的各个汉字或其他字符的字形(即字模)用一个其元素由0和1组成的方阵来表示,汉字或字符中有黑点的地方用1表示,空白处用0表示(二进制点阵数据)。
汉字的轮廓描述:把汉字笔画的轮廓用一组直线和曲线来勾画,记下每一直线和曲线的数学描述公式。(两类国际标准Adobe Type1和True Type)。
数据的宽度和单位
①二进制数据的每一位(0或1)是组成二进制信息的最小单位,称为一个比特,或称位元,简称元;
②比特是计算机中处理、存储和传输信息的最小单位;
③每个西文字符需要用8个比特表示,每个汉字需要用16个比特表示;
④在计算机内部,二进制信息的计量单位是字节,也称位组。一个字节等于8个比特;
⑤字长通常是值CPU内部用于整数运算的数据通路的宽度;
⑥字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度。
数据的存储和排列顺序
①任何信息在计算机中用二进制编码后,得到的都是一串0/1序列,每8位构成一个字节,不同的数据类型具有不同的字节宽度;
②一般用最低有效位(LSB)和最高有效位(MSB)来分别表示数的最低位和最高位,对于带符号数,最高位是符号数,所以MSB就是符号位;
③根据数据中各字节在连续字节序列中的排列顺序的不同,有两种排列方式:大端和小端
大端方式将数据的最高有效字节MSB存放在低地址单元中,将最低有效字节LSB存放在高地址单元中,即数据的地址就是MSB所在的地址;
小端方式将数据的最高有效字节MSB存放在高地址中,将最低有效字节LSB存放在低地址中,即数据的地址就是LSB所在的地址。
数据校验码
一、奇偶校验码
在奇偶校验码中,若两个数据中有奇数位不同,则它们相应的校验位就不同;
若有偶数位不同,则虽校验位相同,但至少有两位数据位不同,因而任意两个码字之前至少有两位不同,所以码距d=2;
奇偶校验法所以的开销小,常被用于存储器读写检查或按字节传输过程中的数据校验。
二、海明校验码
主要思想:将数据按某种规律分成若干组,对每组进行相应的奇偶检测,以提供多位校验信息,从而可对错误位置进行定位,并将其纠正。实质上是一种多重奇偶校验码。
①校验位的位数确定
②分组方式的确定
③校验位的生成和检错、纠错
三、循环冗余校验码
①CRC码的检错方法
②校验位的生成
③CRC码的纠错