预习非数值数据的编码表示
一.非数值数据的编码表示
-
1.逻辑值
逻辑值、字符等,在机器内部用二进制表示。
逻辑数据:有时需要将一个n位数据看成是由n个1位数据组成,每个取值1或0,n位二进制数可表示n个逻辑值。
逻辑数据只能参加逻辑运算,按位进行,如按位“与”、“或”、逻辑左移、逻辑右移。
逻辑运算处理逻辑数据,运算运算处理数值数据。俩者数据再形式上都是一串0/1序列,在形式上无区别。 -
2.西文字符
西文字符由拉丁、数字、标点符号及一些特殊符号所组成,它们统称位字符。所有字符的集合叫做字符集。
字符不能直接在计算机内部处理,因而也必须对其进行数字化编码,字符集中每一个字符都有一个代码(即二进制编码的0/1序列),构成了该字符集的代码表。
码表中的代码具有唯一性。 -
3.汉字字符
1)汉字的输入码
对每个汉字用相应的按键进行的编码表示就成为汉字的输入码,又称为外码。
因为汉字的输入码的码元(即组成编码的基本单位)是西文键盘中的某个按键。
2)字符集与汉字内码
对于汉字内码的选择,必须考虑以下几个因素:
a.不能有二义性,即不能和ASCII码有相同的编码。
b.要和汉字在字库中的位置有关系
c.编码尽量短。
3)汉字的字模点阵码和轮廓描述
字模点阵描述:将字库中每个汉字或其他字符的字形(即字模)用一个其元素有0和1组成的方阵来表示,汉字或字符中有黑点的地方用1表示,空白处用0表示
这种用来描述汉字字模的二进制点阵数据称为汉字的字模点阵码。
轮廓描述方法:把汉字笔画的轮廓用一组直线和曲线来勾画,记下每一直线和曲线的数学表述公式。
二.数据的宽度和存储
1)数据存储的宽度和单位
数据的宽度通常以字节的(Byte)为基本单位表示
数据长度单位(如MB,GB,TB等)在表示数据容量和宽度等不同对象时所代表的大小不同
字用来表示被处理信息的单位,用来度量各种数据类型的宽度。而字长表示进行数据运算、存储和传送的部件的宽度,它反应了计算机处理信息的一种能力。字和字长的长度可以一样,也可以不一样。
字长通常是指CPU内部用于整数运算的数据通路的宽度,字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度。
2)2.6.2数据的存储和排序顺序
·数据的排列
大端方式以MSB所在的地址为数据地址,即给定地址存放处的是数据最高有效字方式;
小端方式以LSB所在的地址为数据地址,即给定地址存放处的是数据最低有效字方式
三.数据校验码
1、效验码
除原数据信息外,还增加若干位编码,这些新增的代码称为效验码
由若干位代码组成的一个字叫码字,将两个码字逐位比较,具有不同代码的位的个数叫做这两个码字间的距离,也称海明距离
在数据效验码中,一个码字是指数据位和效验位按照某种规律排列得到的代码
一般来说,合理地增加效验码、增大码距,就能提高检错/纠错的能力
2、奇偶效验码
奇偶效验根据数据的奇偶性变化来检错,只能检测奇数个错,不具有纠错能力
奇偶效验码常用于存储器读写检查或字节传输过程中的数据效验
3、海明效验码
海明效验是分组奇偶效验,单纠错码(SCE)只能纠正一位错,“纠一检二”码(SEC-DED)可纠正一位错并检测两位数
效验位和故障字的位数是相同的
S5 S4 S3 S2 S1为00000时,无错
S5 S4 S3 S2 S1仅一位不为0时,S指定位置上的效验位出错
S5 S4 S3 S2 S1两位不为0时,数据和效验位中有两位同时出错
S5 S4 S3 S2 S1三位不为0时,有一个数据位发生了错误
S5 S4 S3 S2 S1四位或五位不为0时,出错严重
4、循环冗余效验码
简称CRS码,是一种具有较强检错、纠错能力的效验码,常用于外存储器的数据效验
循环冗余码效验通过某种数学运算在数据和效验位之间建立约定关系,主要用于对大批量数据的存储或传输效验