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天,您在需要使用的时候【私信】联系我,我会为您补发。