数据传输过程中可能会出错,怎样可以检测出数据中那一位在传输中出了差错
2003年NOIP初赛题,还有奇偶校验法是什么?
参考答案:简单检验
奇偶校验(Parity Check)
bcc异或校验法(Block check character)
crc循环冗余校验(Cyclic Redundancy Check)
md5校验
奇偶校验法:
数据传输以byte为单位,另加一个bit作为奇偶校验位,共9个bits.用奇偶校验位来发现在传送过程中是否丢失了一位。
奇偶校验法有偶校验和奇校验。即每一数据要包含偶数个或奇数个"开状态"位。
假定某台计算机采用偶数(奇偶)校验法,如果要将一个EBCDIC的字母A(它具有奇数个"开"位: ***********)写到磁带上,那么在传送之前为了维持偶校验,则需要增加一位奇偶位(即:***********:偶数个"开"位),在将字符写到磁带之前,硬件自动计算"开"位的个数。如果计算机结果是奇数,则说明已经出现了奇偶校验错误,发出警告。
绝大多数情况下,奇偶校验法是有效的。但在数据传输崩溃情况下,也就是一个byte里会有两个或以上以上bits同时出错时,奇偶校验法也无能为力,(它会频繁报告错码,但也会漏报同时有2,,4,6,8个bits同时出错的码)。
byte -- 比特,1 byte = 8 bits