谁能帮忙解释一下这段C程序是什么意思?求高手!//进行CRC检验u8 CheckSum(u8 *databuf){ u8 tmp = databuf[0]-1; u8 chksum=databuf[0]; while(tmp) { chksum^=databuf[tmp]; tmp--; } if(databuf[databuf[0]]==chksum) return 1; else datab
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 04:15:03
谁能帮忙解释一下这段C程序是什么意思?求高手!
//进行CRC检验
u8 CheckSum(u8 *databuf)
{
u8 tmp = databuf[0]-1;
u8 chksum=databuf[0];
while(tmp)
{
chksum^=databuf[tmp];
tmp--;
}
if(databuf[databuf[0]]==chksum) return 1;
else
databuf[databuf[0]]=chksum;
return 0;
}
这个程序对输入的字节数组内容格式做了规定,按照这个格式规定在内部计算校验值并做出判断.
-------------------------------------------------
字节个数 | 字节1 | 字节2 | .| 校验和
--------------------------------------------------
程序按照如下运行:
a,取的要校验的字节个 数 n;
b,然后计算校验和,计算公式为:chksum = n ^ 字节1 ^ 字节2 ^ 字节3 ^ 字节4 ^ .
c,将计算得到的校验和 chksum 与 字节数组中的保存的校验和进行比较,如果相当,则返回1;否则,将计算得到的 chksum 存入字节数组,并返回0 的结果.
C语言是挺有意思的一个东西,可以到 JulianTec 的邮件列表中像师兄师姐们求助.
谁能帮忙解释一下这段C程序是什么意思?求高手!//进行CRC检验u8 CheckSum(u8 *databuf){ u8 tmp = databuf[0]-1; u8 chksum=databuf[0]; while(tmp) { chksum^=databuf[tmp]; tmp--; } if(databuf[databuf[0]]==chksum) return 1; else datab
谁能帮忙解释一下尘埃落定是什么意思啊?
贵人是什么意思谁能帮忙解释一下吗?
哪位好心人能帮忙解释一下程序
谁能给解释一下下面程序的解释是什么意思
谁能解释一下这是什么意思?
这段MATLAB程序是什么意思
这段PLC程序是什么意思
谁能帮忙解释一下CPU2.40GHz是什么意思?
谁能帮忙解释一下地基处理的DDC是什么意思啊
谁能帮忙解释一下电离层闪烁是什么意思,谢谢了!
谁能帮忙具体解释一下“带内管理”是什么意思?
求c高手帮忙,帮我分析一下下面的程序段,最好是每一行的含义都解释一下,先给20分,回答得好再加!#ifndef _DFS_BILLSVR_WORKER_H_#define _DFS_BILLSVR_WORKER_H_#include #include #include #include #include #include #include
能帮忙解释一下perceptive listening是什么意思吗
禹铭座右赠栽君 这是什么意思 帮忙解释一下
是什么意思?谁能解释一下
谁能解释一下这个程序的含义
高手帮忙解释一下Sewing M/C是什么意思