前言
<( ̄︶ ̄)↗[GO!]
这里只讲方法,不讲理论!
小声哔哔(✿◡‿◡) :因为觉得理论太烦了。
一、计算累加校验和(LRC)只需要了解3个步骤
1,“按字节累加”:将输入数据分成字节,再将字节转化成2进制,之后按位进行累加计算。
注意:如果数据是奇数个,在数据前补0,补成偶数个!
2,“去进位”:如果累加后的数据最前面有进位,则去掉进位,没有就不管;
3,“转反码,末位加一”:如将去掉进位的2进制数据取反码,之后在数据最后一位加1。
二、举个栗子(~ ̄▽ ̄)~
输入数据:FA3
第一步:按字节累加
因为不够整数个字节,所以补0:
FA3 -> 0FA3
转换成二进制数:
0FA3 -> 0000111110100011
分成两个字节:
0000111110100011 -> 第一个字节00001111
第二个字节10100011
按字节累加:
0 0 0 0 1 1 1 1
| | | | | | | | +
1 0 1 0 0 0 1 1
-----------------
1 0 1 1 0 0 1 0(累加结果!)
第二步:去进位:
因为结果 10110010 没有进位,所以不用去!
第三步:转反码,末位加1:
转反码:
10110010 -> 01001101
末位加1:
0 1 0 0 1 1 0 1
| | | | | | | | +
0 0 0 0 0 0 0 1
-----------------
0 1 0 0 1 1 1 0(最终结果:累加校验和(LRC))
最终结果:二进制:01001110 十六进制:4E 十进制:78
注意:结果如果不是一个字节,也要在最前面补0,补成一个字节哦!嘿嘿( •̀ ω •́ )✧
总结
贴不贴♥,我的“栗子”还可以吧(✿◡‿◡)。