CUMULATIVE-SUM 累加和校验在线生成工具

最常见的一种是在每次通信数据包最后都加一个字节的校验数据,这个校验字节里的数据是通信数据包里所有数据的不进位累加和。 接收方接收到数据后同样对一个数据包的数据进行不进位累加和计算,如果累加出的结果与校验位相同的话就认为传输的数据没有错误。

示例累加校验和数据

A simple bit of C code to calculate your example:

int main()
   {
   int i;
   unsigned char cs;
   unsigned char a[] = {0x00, 0x01, 0x70, 0x00};
   cs=0;
   for (i=0; i< sizeof(a); i++)
      {
      cs += a[i];
      }
   printf("cs = %X \n", cs);
   return 0;
}
And the result is as expected:

sh-4.3$ gcc -o main *.c
sh-4.3$ main
cs = 71