预习非数值数据的编码方式

1 逻辑值
逻辑数据和数值数据都是一串0/1序列,在形式上无任何差异,需要通过指令的操作码类型来识别它们。
2 字符
字符不能直接在计算机内部进行处理,因而也必须对其进行数字化编码,字符集中每一个字符都有一个代码,构成了该字符集的代码表,简称码表。码表中的代码具有唯一性。
用西文字符表示:由拉丁字母,数字,标点符号以及一些特殊符号表示,他们统称字符
用汉字字符表示:包括汉字的输入码,和码,以及字符集。
3 编码
ASCII编码:ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。
4 数据的宽度和单位
每个吸文字符需要用巴勒比特表示,把每个汉字需要用16个比特才能表示在计算机内部二进制信息的计量单位是字节,也称位主组,一个字节等于8个比特。
5 数据检验码
奇偶校验码:是一种增加二进制传输系统最小距离的简单和广泛采用的方法。奇偶校验可描述为:给每一个码字加一个校验位,用它来构成奇性或偶性校验。可以看出,附加码元d2,是简单地用来使每个字成为偶性的。因此,若有一个码元是错的,就可以分辨得出,因为奇偶校验将成为奇性。奇偶校验编码通过增加一位校验位来使编码中1个个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。因为其利用的是编码中1的个数的奇偶性作为依据,所以不能发现偶数位错误。

海明校验码:它不仅具有检测错误的能力,同时还具有给出错误所在准确位置的能力 但是因为这种海明校验的方法只能检测和纠正一位出错的情况。所以如果有多个错误,就不能查出了。  假设为k个数据位设置r个校验位,则校验位能表示2^r个状态,可用其中的一个状态指出 "没有发生错误",用其余的2 ^r -1个状态指出有错误发生在某一位,包括k个数据位和r个校验位,因此校验位的位数应满足如下关系:
2^r ≥ k + r + 1 (2.7)
如要能检出与自动校正一位错,并能同时发现哪位错,此时校验位的位数r和数据位的位数k应满足下述关系:
2^r-1 ≥ k + r (2.8)

循环校验码:循环冗余校验码由信息码n位和校验码k位构成。k位校验位拼接在n位数据位后面,n+k为循环冗余校验码的字长,又称这个校验码(n+k,n)码。 [4]
n位信息位可以表示成为一个报文多项式M(x),最高幂次是xn-1。约定的生成多项式G(x)是一个k+1位的二进制数,最高幂次是xk。将M(x)乘以xk,即左移k位后,除以G(x),得到的k位余数就是校验位。这里的除法运算是模2除法,即当部分余数首位是1时商取1,反之商取0。然后每一位的减法运算是按位减,不产生借位。

posted @ 2020-09-19 16:02  魏豪杰  阅读(148)  评论(0)    收藏  举报