crc8校验 多项式

public static byte CRC81(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;

                    if (moveOutBit == 0x80)//最高位为1,移出跟Poly的最高位消掉  

                    {

                        byteCRCTemp = (byte)(byteCRCTemp ^ crcPoly);

                    }

                }

            }

            crcResult &= byteCRCTemp;

            return (byte)(crcResult ^ 0xFF);

        }

请问 第一个参数的多项式给定是G(X)=X8+X2\+X1+1,初始字节为0 在调用方法的时候如何定义这个参数传进来

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。