文件名称:数据处理方法-算术编码(CRC-Java编码实现)
文件大小:16KB
文件格式:ZIP
更新时间:2023-02-03 10:56:10
算法 CRC
CRC 的英文全称为 Cyclic Redundancy Check(Code),中文名称为循环冗余校验(码)。它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制。 以下步骤将描述 6 字节红外控制码生成过程: 1.从二维码的中依次顺序提取前 2 个英文字母、最后 2 个英文字母(X、x 除外,取英文字母 ASCII 值为原始数据),并从中提取出多项式 g(x)(多项式的最高位为 x16,最低为 1); 2.预置 1 个 16 位的寄存器为十六进制 FFFF(即全为 1),称此寄存器为 CRC 寄存器; 3.把第一个 8 位二进制数据(既原始数据的第一个字节)与 16 位的 CRC 寄存器的低 8 位相异或,把结果放于 CRC 寄存器,高八位数据不变; 4.CRC 寄存器向右移一位,MSB(最高位)补零,并检查右移后的移出位 LSB(最低位)。 5.如果 LSB 为 0,重复第 4 步;若 LSB 为 1,CRC 寄存器与多项式码相异或。 6.重复第 4 与第 5 步直到 8 次移位全部完成。此时一个 8-bit 数据处理完毕。 7.重复第 3 至第 5 步直到将剩下 3 个原始数据全部处理完成。 8.最终 CRC 寄存器的内容即为 CRC 值。 9.取 CRC 的得高八位作为红外控制码的第一字节,按顺序取原始数据为红外控制码的二、三、四、五字节,取 CRC 值的低八位为红外控制码的第六字节。
【文件预览】:
CRC算法
----CRC.docx(17KB)
----CRC16.txt(3KB)