校验码是一种数据校验方式,用于检查一个数据是否被传输或存储后发生了错误。它是通过对源数据进行一定的计算,将计算结果附加在源数据后面形成的,接收方可以通过重新计算数据和校验码来检测数据的准确性。
那么,校验码是如何得到的呢?从多个角度来看,我们可以得出以下几点:
1. 奇偶校验码
奇偶校验码是最简单的一种校验码,它主要应用于串行数据的传输中。其原理是:将数据的每一位转换为二进制数字,对所有二进制数字进行累加,并产生一个结果。如果累加结果是偶数,则奇偶校验码就是0;如果是奇数,则奇偶校验码为1。例如,对于十进制数字29,它的二进制表示为11101,累加结果为4,所以奇偶校验码为0。
2. 加权和校验码
加权和校验码是一种常见的校验码,它会对每一个数据位给予一个权重值,根据权重对数据进行加权求和。例如,对于一串二进制数据1101 1001 0110 0010,我们可以给每一个数据位分别赋予权重128、64、32、16、8、4、2、1,然后将每一位乘以对应的权重再求和。最后将求和结果除以一个固定的值,将余数作为校验码即可。
3. 循环冗余校验码
循环冗余校验码(CRC)是一种根据网络数据包或计算机文件等数据生成校验码的技术,它使用除数来分离数据帧中的信息位和校验码。CRC校验码的生成和验证都可以用硬件电路或软件实现。当接收方接收到数据帧时,它也会计算一下CRC校验码,并将计算结果与发送方发送的校验码进行比对。如果计算出的CRC校验码与发送方发送的校验码相同,那么数据就没有发生错误。
扫码领取最新备考资料