CRC16校验码C语言实现

一、目的

 阐述CRC16的原理,并以C语言代码实现。

二、 校验码的作用

 校验码用于校验数据的有效性/正确性。

校验码用原数据生成,并伴随原数据一起发送/保存,使用者拿到发送/保存的数据序列后,取出原数据部分,根据校验码生成规则生成校验码,与拿到的校验码进行比较即可判断数据是否有效/正确。

三、 CRC校验码生成过程

 任意一个数据序列都可以用二进制表示,如整数123可以用二进制表示为1111011B。对二进制数模2除以一个N位的二进制数,余数应该是N-1位。而模2除相当于找到为1的最高位,作异或运算。

举个例子来看取余的过程:

123对25取余,亦即1111011B对11001取余,可以先将1111011B右移(5-1)位,用来存储余数,得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值