学习boost之0.02 对CRC算法的理解

CRC算法是一种用于校验数据正确性的循环冗余校验方法,基于模2除法。通过举例说明了CRC计算过程,并揭示了表驱动算法的高效性,该算法预先计算每个字节的CRC值并存储在表中,通过查表和异或操作快速得到CRC值。Boost库可能包含对CRC算法的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    之前在看CRC算法的表驱动原理,一直没搞懂,然后自己按照文章里的说法在纸上重写了一遍,豁然开朗。很多算法以为高深,直到自己也会了之后。

    CRC翻译为循环冗余校验,算法的本质是企图校验数据差错,保证数据的正确和完整性。在数学描述上就是简单的求余,把要校验的字符串当作一个长整数,挑选一个合适除数,相除的余数就是CRC值。如果真的用数学上的除法,会导致位之间强关联,后来用mod2除法,弥补这一缺陷。对CRC介绍的很全面的文章参见文后给的参考资料。

举个例子:

字符串(被除数)A: 11001010 01101001

除数B:   110111010(宽为8位)

 A/B 

                       ----------------------------------------------------

  110111010)    11001010 1101001

                         11011101 0  ------>(1)

                        -----------------------------------

                               10111 0110

    &nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值