在线时间514 小时
UID2025756
注册时间2013-7-16
NXP金币0
该用户从未签到
金牌会员
 
- 积分
- 9267
- 最后登录
- 1970-1-1
|
发表于 2014-9-11 16:29:09
|
显示全部楼层
百度百科有一段:http://baike.baidu.com/view/93743.htm?fr=aladdin
它通常是以十六进制为数制表示的形式,如:
十六进制串:
的效验和是: 24 (十六进制)
如果校验和的数值超过十六进制的FF,也就是255. 就要求其补码作为校验和.
通常用来在通信中,尤其是远距离通信中保证数据的完整性和准确性.
验证编辑验证该算法的一段程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| #include"stdio.h"
voidmain()
{
inta[8]={0x4E,0x00,0x00,0x20,0x65,0x00,0x00,0x00};
intb[8],t;
inti,sum=0;
intj=0xD3;
for(i=0;i<8;i++)
{
b=a;
}
for(i=0;i<8;i++)
{
sum+=a;
}
t=sum&0xFF;
t=~t&0xFF;
b[1]=t;
sum=0;
for(i=0;i<8;i++)
{
sum+=b;
}
printf("0x%X\n",sum&0xFF);
}
|
|
|