CRC (Cyclic Redundancy Check,循环冗余校验) 是一种常用的错误检测码,用于检测数据传输或存储过程中发生的错误。它通过在数据末尾添加一个校验码(CRC码)来实现。接收方通过同样的算法计算接收数据的CRC码,并将结果与接收到的CRC码进行比较,如果两者相同,则认为数据传输正确,否则认为数据传输过程中发生了错误。
CRC 的工作原理:
CRC 的核心思想是将数据看作一个多项式,然后用一个预定义的生成多项式 (Generator Polynomial) 对数据多项式进行模2除法。 模2除法与普通的除法类似,但是加减法都用异或 (XOR) 代替。 余数就是 CRC 校验码。