【发布时间】:2017-02-27 07:25:38
【问题描述】:
我想为以下消息计算 LRC(在 JAVA 中):
String TLV1="003D6000010000544553543531333030303234FF8B6028DF0225DF82040C544553543531333030303234DF820803000160DF820903170222DF820A03172011D5";
我的 LRC 应该是 "D5" = 213 但我的代码计算为 232 :( 我不知道我在哪里做错了。
public short calculateLRC()
{
short LRC = 0;
for (int i =2 ; i < TLV1.length()-2; i=i+2)
{
String a1=TLV1.substring(i,i+2);
String a2="0x"+a1;
Integer a3 = Integer.decode(a2);
int a4[] = new int [TLV1.length()];
a4[i/2]=a3;
LRC ^= a4[i/2];
}
return LRC;
}
【问题讨论】:
-
你说的是Longitudinal Redundancy Check吗?您遇到的更具体的问题是什么?您可以提供的背景越多,人们就越容易回答。
-
这个“问题”(其实没有问题)缺少很多东西:详细的问题描述、已经尝试过的代码、研究(有一些明显的重复)等等。但是有人投了赞成票?