计算机底层:奇偶校验码
创始人
2025-05-30 01:49:24

计算机底层:奇偶校验码

校验码的作用:

在数据传输或存储时,可能会因为计算机元器件或收到外界干扰,导致数据发送变换。比如:在数据传输时,由于磁场干扰,使数据发送了改变,本来要传输:001,可是传输过去的结果变成了110。

为了在数据传输或存储时,能够及时发现错误数据,因此就需要对数据进行校验。更有胜者

还能够对数据进行复原。

奇偶校验码能够发现错误数据。

奇偶校验码:

如上图:两台电脑知道且使用一种编码方式,数据是2bit,因此数据只有四种表示方法。

在两台电脑之间传输数据时,出现了位错误:0变1,1变0。原本左边发送的是01的编码,可是传输时右边收到的却是00。

用户本来想表达B可是别人收到的却是A。

此时因为(00)A和(01)B都是合法字符,因此两人在传输数据时,并不会发现这个错误。

校验码原理:

为了发现错误,就出现了校验码进行对数据的校验。

2个bit表示4个信息,那么无论数据如何变,另一方收到的数据都是合法状态的。奇偶校验码就是设置数据的非法状态,来发现错误信息。

奇偶校验码在前面加了1bit。变成了2^3=8种状态。由于这里只有4个数据。因此只需要使用4种状态就行。多出来的4中状态是冗余的。

因此只要将数据对应的四种状态设为合法状态,冗余的四种状态设为非法状态,那么计算机校验时,如果发现数据是非法状态的数据,那么计算机就会知道,这个数据在传输过程中发生了改变。

此时左边创数001的数据,位错误发生后,右边收到了000,右边电脑发现000是非法状态。因此右边计算机就发现了这一数据的错误。

校验码须知的概念:

码字:就是编码,00,01,100,001。右边有4个冗余的码字

两个码字间的距离:00和11之间的距离就是2。因为两个码字的2个位是不同的。再比如100和111之间的就离也是2。

码距:如图左边的编码方案,编码之间的最小距离是1,则码距就是1;如图右边的编码方案,编码之间的最小距离是2,则码距就是2。

发现:

奇偶校验码的原理:

奇偶校验码就是在n个bit的最前面加上一个bit。如果在整个校验码(n+1bit)中,1的个数位奇数个,那么此校验码为奇校验码;如果1的个数为偶数个,那么此校验码为偶校验码。

奇偶校验码的使用:

如果两方使用偶校验码,如上图传输1010111时,使用了偶校验码,在最前方加入了1,校验码变成了:11010111。

两方传输时,发生了改变。11010111变成了11010110。接收方发现。11010110中的1有奇数个(5),并不符合偶校验码的规定。那么就是知道这串数据在传输时发送了改变。认为这是不合法的。

奇偶校验码的局限性:

上述奇偶校验码的使用中,偶校验码只改变了1个bit。

如果改变两个bit:从11010111变成了11010100,接收方发现1有偶数个(4),符合了偶校验码的规定。接收方就会认为这个数据在传输时并没有发生改变。认为这是合法的。

因此就会发现奇偶校验码的一个问题:

如果在使用偶校验码在数据传输时,如果数据传输时改变了奇数个,那么接收方会发现这个信息发生了改变,如果数据传输时改变了偶数个,那么接收方就会认为这个数据是合法的。

反之奇数校验码也是存在这个问题:

如果在使用奇校验码在数据传输时,如果数据传输时改变了偶数个,那么接收方会发现这个信息发生了改变,如果数据传输时改变了奇数个,那么接收方就会认为这个数据是合法的。

因此,奇偶校验码就存在了这样的局限性。

底层硬件中奇偶校验码的工作原理:

对数据进行进行添加校验位(下图举例偶校验位),即,给最前面加上1bit的工作方式:

相同的数据异或是0。

发起方,进行添加奇偶校验码。

求偶校验码:

理解小技巧:学过c的也知道,数据异或时是满足分配律的。只需要看1的个数,如果是奇数个,无论有多少0得到的结果都是1。如果是偶数个,无论有多少0得到的结果都是0。

异或后如果是0说明1有偶数个,那么为了保证整个校验码有偶数个1,则在校验位添上0;如果是1说明1有奇数个,那么为了保证整个校验码有偶数个1,则在校验位添上1

求奇校验位:

与偶校验位相反,异或后如果是0说明1有偶数个,那么为了保证整个校验码有奇数个1,则在校验位添上1;如果是1说明1有奇数个,那么为了保证整个校验码有奇数个1,则在校验位添上0

上面是对求出给最前面加上1bit的校验位,以下是对校验码进行校验:

接收方进行奇偶校验。

偶校验:

异或结果是0说明1的个数是偶数个,那么对于偶校验码是合法的,数据没有发生改变。

异或结果是1说明1的个数是偶数个,那么对于偶校验码是不合法的,数据发生了改变。

需要注意奇偶校验的局限性:如果这里改变了偶数个,那么还是会认为数据没有改变。

奇校验:

异或结果是0说明1的个数是偶数个,那么对于奇校验码是不合法的,数据发生了改变。

异或结果是1说明1的个数是奇数个,那么对于偶校验码是合法的,数据没有发生改变。

需要注意奇偶校验的局限性:如果这里改变了奇数个,那么还是会认为数据没有改变。

总结:

相关内容

热门资讯

HTML5新增 系列文章目录 前端系列文章——传送门 HTML系列文章——传送门 文章目录系列文章目录什么是 HT...
Spring事务管理,xml和... 目标:熟悉事务管理的核心接口,能够说出它的3个核心接口及内容 sprin...
潮汐车道可以掉头吗(潮汐车道可... 今天给各位分享潮汐车道可以掉头吗的知识,其中也会对潮汐车道可以拐弯吗进行解释,如果能碰巧解决你现在面...
叶克膜是什么(叶克膜是什么药物... 本篇文章极速百科给大家谈谈叶克膜是什么,以及叶克膜是什么药物对应的知识点,希望对各位有所帮助,不要忘...
二手雪佛兰迈锐宝2013款价格... 本篇文章极速百科给大家谈谈二手雪佛兰迈锐宝2013款价格多少,以及二手雪佛兰迈锐宝2013款价格多少...
爬山是什么意思网络用语(网络语... 本篇文章极速百科给大家谈谈爬山是什么意思网络用语,以及网络语言爬山是什么意思?对应的知识点,希望对各...
企业网盘的优势到底在哪里? 归根结底,企业网盘作为一个功能型产品,比之普通的个人网盘其优势到底在哪里...
一万的电动四轮车(一万的电动四... 今天给各位分享一万的电动四轮车的知识,其中也会对一万的电动四轮车电油两用进行解释,如果能碰巧解决你现...
阳历是什么(阳历是什么历是公历... 本篇文章极速百科给大家谈谈阳历是什么,以及阳历是什么历是公历还是农历对应的知识点,希望对各位有所帮助...
艾瑞泽5e怎么样-车主点评-真... 本篇文章极速百科给大家谈谈艾瑞泽5e怎么样-车主点评-真实评价-口碑,以及艾瑞泽5e2017款对应的...
庚寅年是哪一年(清朝庚寅年是哪... 本篇文章极速百科给大家谈谈庚寅年是哪一年,以及清朝庚寅年是哪一年对应的知识点,希望对各位有所帮助,不...
Django从0到视图开发实战 Djanogo框架特点 Django 是一个全栈web框架功能完善,要素齐全完善的文档...
依赖注入~ 依赖注入之setter注入: 依赖注入是IOC具体的一种实现方式, 这是...
2012款菲亚特菲跃怎么样(2... 今天给各位分享2012款菲亚特菲跃怎么样的知识,其中也会对2013款菲亚特菲跃进行解释,如果能碰巧解...
雪弗兰赛欧油耗怎么样,新赛欧的... 今天给各位分享雪弗兰赛欧油耗怎么样,新赛欧的真实油耗多少的知识,其中也会对雪佛兰赛欧真实油耗多少进行...
有哪些水生动物(有哪些水生动物... 本篇文章极速百科给大家谈谈有哪些水生动物,以及有哪些水生动物有特别之处对应的知识点,希望对各位有所帮...
立冬的寓意是什么(立冬有什么寓... 本篇文章极速百科给大家谈谈立冬的寓意是什么,以及立冬有什么寓意对应的知识点,希望对各位有所帮助,不要...
14 elf 文件执行的流程 前言 这里我们来探讨一下 elf 文件的执行流程  当然 这也是我很久以前 就想了解的东西了  不过...
假如用CSS来逆向推理视觉设计... 最近几个月都在忙乎自己的产品,活生生体验了一把需求-设计-前端开发集成式累成狗的节奏&...
如何计算运行时间(即计算时间复... 一般法则 for循环 一次for循环的运行时间至多是该for循环内语句(包括测试&#x...
信宜说什么话(广东信宜说什么方... 本篇文章极速百科给大家谈谈信宜说什么话,以及广东信宜说什么方言对应的知识点,希望对各位有所帮助,不要...
煮熟的螃蟹怎么保存(煮熟的螃蟹... 今天给各位分享煮熟的螃蟹怎么保存的知识,其中也会对煮熟的螃蟹怎么保存合适进行解释,如果能碰巧解决你现...
东西南北无弯路是什么字(东西北... 本篇文章极速百科给大家谈谈东西南北无弯路是什么字,以及东西北无路打一地名对应的知识点,希望对各位有所...
俄罗斯火箭(俄罗斯火箭炮射程)... 本篇文章极速百科给大家谈谈俄罗斯火箭,以及俄罗斯火箭炮射程对应的知识点,希望对各位有所帮助,不要忘了...
“国产版ChatGPT”文心一... 文章目录前言实验结果一、文学创作问题1 :《三体》的作者是哪里人?问题2:...
OWIN+ASP.NET We... 1、创建一个WebAPI项目,在Visual Studio 中选择这个 2、生成的目...
layui框架学习(15:表单...   上一篇文件介绍了Layui中表单的大致结构,本文开始学习表单中与几种输入元素相关的...
sonywh-1000xm3(... 本篇文章极速百科给大家谈谈sonywh-1000xm3,以及sonywh1000xm3蓝牙耳机怎么配...
务实派后来者居上昂科威和柯迪亚... 本篇文章极速百科给大家谈谈务实派后来者居上昂科威和柯迪亚克哪个好,以及昂科威与柯迪亚克谁好柯迪亚克图...
september怎么读(20... 今天给各位分享september怎么读的知识,其中也会对20thseptember怎么读进行解释,如...