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

非数值数据的编码方式

一.非数值数据的编码方式

1.逻辑值

定义:逻辑值是计算机语言,意为逻辑状态下赋予的真或者假。逻辑值有两种情况:成立和不成立。成立的时候我们说逻辑值为真,使用True或1表示,不成立的时候我们说逻辑值为假,使用false或0表示。在程序设计里面,一般关系运算符的结果、逻辑运算符运算的结果都是逻辑值。
1)正常情况下,每个字或是其他可寻址单位(字节、半字)是作为一个整体数据单元。
2)n位二进制可以表示n个逻辑值。逻辑值只能参加逻辑运算,并且按位进行的。
3)逻辑数据和数值数据都是一串0/1序列。逻辑运算指令处理的是逻辑数据,算术运算指令处理的数值数据。
逻辑数据和数值数据都是一串0/1序列,在形式上无任何差异,需要通过指令的操作码来识别它们。

2.西文字符

ASCII码在计算机中可以bai表示所有的西文字符。
西文由拉丁字母、数字、标点符号及一些特殊符号所组成,他们统称为字符。
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。
1)西文由拉丁字母、数字、标点符号以及一些特殊的符号所组成,统称为字符。
2)所有字符的集合叫做字符集,字符不能直接在计算机内部进行处理,要对其进行数字化编码。
3)字符集中每一个字符都有一个代码,构成了该字符集的代码表,简称码表。PS:码表中的代码具有唯一性。
4)西文只需要对有限的字母和数学符号、标点符号等进行编码,所以总数不会超过256个。

3.汉字字符

为适应汉字系统各组成部分都汉字信息处理的不同需要,汉字系统必须处理一下几种汉字代码:输入码、内码、子模点阵码。
汉字的输入码:汉字输入码也称外码,是为将汉字输入到计算机设计的代码。汉字输入码种类较多,选择不同的输入码方案,则输入的方法及按键次数、输入速度均有所不同。综合起来,汉字输入码可分为流水码、拼音类输入法、拼形类输入法和音形结合类输入法几大类。
汉字被输入到计算机内部后,就按照一种称为内码的编码形式在系统中进行存储、查找、传送等处理。对于西文字符,它的内码就是ASCII码。
1)汉字的输入码:汉字的输入码的码元是西文键盘的某个按键。
2)字符集与汉字内码:不能有二义性,即不能和ASCII码有相同的编码
3)要与汉字在字库中的位置有关系,以便于汉字的处理、查找。
4)编码尽量短

二.数据的宽度和存储

1、数据的宽度和单位

计算机内部任何信息都被表示成二进制编码形式。
每个西文字符需要用八个比特表示,而每个汉字需要用十六个比特才能表示。
计算机中运算和处理二进制信息时使用的单位除了比特和字节之外,还经常使用字为单位。

2、数据的存储和排列顺序

任何信息在计算机中用二进制编码后,得到的都是一串0/1序列,每8位构成一个字节,不同的数据类型具有不同的字节宽度。
在所有计算机中,多字节数据都被存放在连续的字节序列中。
数据以某种格式记录在计算机内部或外部存储介质上。
数据存储对象包括数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。
据存储反映系统中静止的数据,表现出静态数据的特征。

三.校验码的方式

1.数据校验码

除原数据信息外,还增加若干位编码,这些新增的代码称为效验码
由若干位代码组成的一个字叫码字,将两个码字逐位比较,具有不同代码的位的个数叫做这两个码字间的距离,也称海明距离
在数据效验码中,一个码字是指数据位和效验位按照某种规律排列得到的代码
一般来说,合理地增加效验码、增大码距,就能提高检错/纠错的能力

2.奇偶校验码

·最简单的数据校验方法
·实现方法:在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据位异或计算出来
·判断数据错误步骤:
1)在源部件求出奇(偶)校验位P。
2)在目标部件求出奇(偶)校验位p'
3)计算最终的检验为P*,并根据其值判断有误奇偶错

3.海明效验码

·将有效信息按某种规律分成若干组,每组安排一个校验位,做奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正。实质上,海明校验是一种多重校验。
·特点:它不仅具有检测错误的能力,同时还具有给出错误所在准确位置的能力
·假设为k个数据位设置r个校验位,则校验位能表示2^r个状态,可用其中的一个状态指出 "没有发生错误",用其余的2 ^r -1个状态指出有错误发生在某一位,包括k个数据位和r个校验位,因此校验位的位数应满足如下关系:
2^r ≥ k + r + 1
·故障字和出错情况的对应关系

4.循环冗余效验码

1.这种编码基本思想是将要传送的信息M(X)表示为一个多项式L,用L除以一个预先确定的多项式G(X),得到的余式就是所需的循环冗余校验码。
2.crc检验主要有计算法和查表法两种方法,网上很多实现代码。
3.优点
①可检测出所有奇数位错;②可检测出所有双比特的错;③可检测出所有小于、等于校验位长度的突发错。

posted @ 2020-09-20 21:01  人潮  阅读(426)  评论(0编辑  收藏  举报