ZKX's LAB

我要用C语言编写CRC16效验码。通过输入一个串然后计算出CRC16效验码。例如:输入010600001388计算得到849C 用c语言求crc的余数

2021-04-10知识9

请哪位大神帮我把c语言的CRC校验改成c#版的,不好意思只有5个 byte CRC82(byte[]ptr,byte len){byte i;byte crc=0;int pos=0;while(len-。0){for(i=1;i。0;i*=2){if((crc&1)。0){crc/2;crc^=0x8C;}elsecrc/2;if((ptr[pos]&i)。0)crc^=0x8C;}pos+;}return(crc);}

CRC C语言实现,谁帮我讲讲是什么原理。 参考:http://bbs.pediy.com/showthread.php?t=17195

谁有用C语言编写的CRC-16校验形式的代码~·高分求 #define crc16_polynomial 0x8005/crc_16校验方式2113的多项式.typedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;typedef enum tagboolean { false,true } bool;ulong g_ultable[256];crc_16方式校验的初始5261化函数,计算crc_16余数表.void_far crc16init(void){uint nremainder;int n,m;ulong*pultable=g_ultable;for(n=0;n;n+){nremainder=(uint)n;for(m=8;m>;0;m-){if(nremainder&0x8000){nremainder=(nremainder)^crc16_polynomial;}else{nremainder=(nremainder);}}(pultable+n)=nremainder;}}以crc_16方式计算一个数据块的crc值.pucdata-待校4102验的数据块指针1653.nbytes-数据块大小,单位是字节.返回值是无符号的长整型,其中低16位有效.ulong_far crc16calc(uchar*pucdata,int nbytes){uint nremainder,nret;int n;uchar index;ulong*pultable=g_ultable;nremainder=0x0000;for(n=0;n;n+){index=(uchar)crcbitreflect(*(pucdata+n),8)^(nremainder>;>;8);nremainder=(uint)*(pultable+index)^(nremainder);}nret=(uint)crcbitreflect(nremainder,16)^0x0000;return(nret);}反转数据的比特位,。

#用c语言求crc的余数

随机阅读

qrcode
访问手机版