预习非数值数据的编码方式
逻辑值
n位二进制数可表示n个逻辑值
逻辑数值和数值数据都是一串0/1序列
西文字符
西文由拉丁字母、数字、标点符号及一些特殊字符所组成,它们统称为字符,所以字符的集合叫做字符集
字符集中每一个字符都有一个代码(即二进制编码的0/1序列),构成该字符集的代码表(码表)。
码表中代码具有唯一性
ASCII字符表规律:
数字的代码小于字zhi母;在数字的代码中,0的代码最小,9的代码最大;大写字母的代码比小写字母小;在字母中,代码的大小按字母顺序递增;A的代码最小,z的代码最大。其中,0的代码为48,A的代码为65,a的代码为97,其他数字和字母的代码可以依次推算出来。
汉字字符:
汉字的输入码:汉字的输入码的码元(即组成编码的基本元素)是西文键盘中的某个按键
字符集和汉字内码
GB 2312-1980为国际码,又称国际交码。由字母、数字和各种符号组成。
汉字区位码:每一个或字符在码表中都有各自的位置,各有一个唯一的位置编码,该编码用字符所在的区号及位号的二进制表示,7位区号在左,7位位号在右,共14位。
汉字的字模点阵码和轮廓描述
汉字字形的描述方法:字模点阵码、轮廓描述
输出汉字前,需先到字库去找它的字形描述信息,然后把字形消息送到相应的设备输出
数据的宽度和存储
数据的宽度和单位
计算机中处理存储和传输信息的最小单位:比特
一个西文字符用8个比特表示,一个汉字用16个比特表示
二进制信息的计量单位是比特(位组),一个字节等于8个比特
同一数据类型分配的数据类型随机器和编译器的不同而不同
数据的存储和排列顺序
计算机中存储数据,一般用最低有效位LSB和最高有效位MSB来分别表示数的最低位和最高位(对于带符号数,最高位是符号位,所以MSB就是符号位。只要明确MSB、LSB的位置,就可以明确的符号和数据)
每个地址标号存放一个字节。
多字节数据都存放在连续的字节序列中。根据数据中各字节在连续字节序列中的排列顺序不同,可有两种排列方式:大端、小端
数据的校验码
检验位:当数据被存入存储器或从源部件传输时,对数据M进行某种运算以产生相应的代码P=F(M),P即为检验位。是一个表示给定位数的二进制数中1的个数是奇数还是偶数的二进制数。奇偶校验位是最简单的错误检测码。
奇偶校验码:一种增加二进制传输系统最小距离的简单和广泛采用的方法。是一种通过增加冗余位使得码字中"1"的个数恒为奇数或偶数的编码方法,它是一种检错码。
一个二进制码字,如果它的码元有奇数个1,就称为具有奇性(奇性检测等效于所有码元的模二加,并能够由所有码元的异或运算来确定。对于一个n位字,奇性由下式给出:奇性=a0⊕a1⊕a2⊕…⊕an)
给每一个码字加一个校验位,用它来构成奇性或偶性校验
奇偶校验编码通过增加一位校验位来使编码中1个个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。因为其利用的是编码中1的个数的奇偶性作为依据,所以不能发现偶数位错误。
海明校验码
通过增加少数几个校验位,检测出二位同时出错、及检测出一位出错并自动恢复该出错位的正确值的有效手段
校验位的位数的确定
假设为k个数据位设置n个校验位,则校验位能表示2^n个状态,可用其中的一个状态指出 "没有发生错误",用其余的2 ^n -1个状态指出有错误发生在某一位,包括k个数据位和n个校验位 n和k满足 2^k>=1+n+k
分组方式的确定
数据位和校验位是一起被存储的,通过将他们中的各位按某种方式排列为一个n+k位的码字,将该码字中每一位的出错位置与故障字的数值建立关系,来确定码字中错误码位
校验位的生成和检错、纠错
对每组采用相应的奇偶校验,得到相应的一个校验码。
校验码若同时具有发现两位错和纠正一位错的能力,称为单纠错和双纠错码,简称“纠一检二”码
循环冗余校验码CRC
一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。
常用于外存储器和计算机同步通信的数据校验