C# CRC8直接计算算法实现

这篇博客记录了CRC数据校验的学习过程,重点介绍了使用C#实现CRC8算法的细节,包括信息字的扩展和XOR操作。文中提到了CRC校验的抗失步能力和陪集码的概念,举例说明了(48,40)码的陪集码生成,以增强校验的可靠性。
摘要由CSDN通过智能技术生成

项目涉及CRC的数据校验,写点学习笔记。CRC校验具体应用视实际所选的多项式而定,本次g(x)=x8+x2+x+1,陪集码FFH。

public byte CRC8(byte crcPoly, byte[] crcData)
        {
            byte poly = crcPoly;
            byte crcResult = 0xFF;
            byte byteCRCTemp = 0x00;
            byte[] data = new byte[crcData.Length + 1];
            crcData.CopyTo(data, 0);
            data[crcData.Length] = 0x00;

            byteCRCTemp = (data[0]);
            for (int i = 1; i < data.Length; i++)
            {
                byte tempData = data[i];
                int j = 0;
                while (j < 8)
                {
                    j += 1;
                    byte moveOutBit = (byte)(byteCRCTemp & 0x80);
                    byteCRCTemp <<= 1;
                    byteCRCTemp |= (byte)(tempData >> 7);
                    tempData <<= 1;
    
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值