CRC(循环冗余校验)和奇偶校验(Parity Check)是常用的数据传输中的错误检测方法。
CRC是一种根据生成多项式进行计算的校验方法,可以检测数据传输过程中的错误。发送方通过将数据与生成多项式进行求余运算得到校验码,将数据和校验码一起发送给接收方。接收方再次利用同样的生成多项式对接收到的数据进行求余运算,如果余数为0,则认为数据传输无误;如果余数不为0,则表示数据传输过程中发生错误。
奇偶校验是一种简单的校验方法,常用于串行通信中。在奇偶校验中,发送方在每个数据字节的末尾增加一个附加位,使得该字节中的1的个数为奇数或偶数。接收方收到数据后,可以统计接收到的每个字节中1的个数,如果个数不满足设定的奇偶性,则表示数据传输过程中存在错误。
两种校验方法的区别在于实现原理和性能。CRC相对复杂一些,但由于其能够检测更多的错误类型,所以在实际应用中更常见;而奇偶校验简单但只能检测到奇数个错误位的错误。