奇偶校验码是一种最为简单的校验码,它用来检测数据传输过程中是否发生错误。 它有两种校验方法:奇校验和偶校验 奇校验:原始码流+校验位 总共有奇数个1
偶校验:原始码流+校验位 总共有偶数个1
它的校验位只有一位,要么是0,要么是1,并且它的校验码还可以放在码流的前面 下面举个例子 原始数据:0010 1100
奇校验:0010 11000 //校验位为0,3个1 奇数个1
偶校验:0010 11001 //校验位为1, 4个1偶数个1 奇偶校验码的局限性: 只能检测出奇数个错误。
奇校验 正确码流 11000001
错1位11000011变成了偶数个1,能检测出错误
错2位11000010变成了奇数个1,检测不出错误
错3位11001010变成了偶数个1,能检测出错误
偶校验 正确码流 01000001
错1位01000011变成了奇数个1,能检测出错误
错2位01000010变成了偶数个1,检测不出错误
错3位01001010变成了奇数个1,能检测出错误
因此就会发现奇偶校验码的一个问题:如果在使用偶校验码在数据传输时,如果数据传输时改变了奇数个,那么接收方会发现这个信息发生了改变,如果数据传输时改变了偶数个,那么接收方就会认为这个数据是合法的。
反之奇数校验码也是存在这个问题:
如果在使用奇校验码Q在数据传输时,如果数据传输时改变了偶数个,那么接收方会发现这个信息发生了改变,如果数据传输时改变了奇数个,那么接收方就会认为这个数据是合法的。
因此,奇偶校验码就存在了这样的局限性。
关于奇偶校验码理解
于 2023-10-08 20:59:41 首次发布