lrc检验的java实现

百度的解释:纵向冗余校验是通信中常用的一种校验形式,也称LRC校验或纵向校验(Longitudinal Redundancy Check)。

算法:可以理解为一串byte数据,全部加起来,值取补码,再加1就得到lrc值。

例子:byte[] cmdsetb = {0x00,0x0D,0x51,0x44,(byte)0xDD,0x5A,(byte)0xA5,0x00,(byte)0xFF,0x14,0x09,0x4E,0x08 ,0x00,0x00,0x10,0x03} //0x10为lrc

上面那串数据,倒数第二个为lrc校验位。

1. 00+0D+51+44+DD+5A+A5+00+FF+14+09+4E+08+00+00=3F0

2.去掉高位溢出,值为F0,然后取补码等于0F

3.加1等于10

代码实现:(针对这个数据串)


lrc检验的java实现_第1张图片

你可能感兴趣的:(lrc检验的java实现)