将一段C程序转成JAVA
fly29 2006-12-27 03:09:16 ChkSum(int len, char* buf, char* res)
{
int i;
memset(res, 0, 8);
for(i=0; i<len; i+=4)
{
res[0]^=(buf+i)[0];
res[1]^=(buf+i)[1];
res[2]^=(buf+i)[2];
res[3]^=(buf+i)[3];
};
res[0]=~res[0];
res[1]=~res[1];
res[2]=~res[2];
res[3]=~res[3];
// 将16进制数扩展为对应字符串(如0xE8--->"E8")
for(i = MSG_CHKSUM_LEN-1; i >= 0; i --)
{
if ( i % 2 ) // LOW
{
res[i] = (res[i/2] & 0x0F) + '0';
if ( res[i] > '9' )
{
res[i] = res[i] + 'A' - '0' - 10;
}
}
else // HIGH
{
res[i] = ((res[i/2] >> 4) & 0x0F) + '0';
if ( res[i] > '9' )
{
res[i] = res[i] + 'A' - '0' - 10;
}
}
}
}
转完验证后,立即结帖!