JAVA编程心得-JAVA实现CRC-CCITT(XMODEM)算法 (三)

2014-11-24 10:38:36 · 作者: · 浏览: 1
1021[index]); // 高8位和当前字节相加后再查表求CRC ,再加上以前的CRC
j++;
}
return (crc);
}
3.测试方法与结果:


[java] public static void main(String args[]) {
byte[] b = new byte[] {
(byte) 0x2C, (byte) 0x00, (byte) 0xFF, (byte) 0xFE,
(byte) 0xFE, (byte) 0x04, (byte) 0x00, (byte) 0x00,
(byte) 0x00, (byte) 0x00 };

int a = getCRC1021(b, 10);
System.out.println("查表法:" + a);
String str = Integer.toHexString(a).toUpperCase();
System.out.println("十六进制:" + str);
System.out.println("计算法:" + CRC_XModem(b));
System.out.println("十六进制:"
+ Integer.toHexString(CRC_XModem(b)).toUpperCase());
}

public static void main(String args[]) {
byte[] b = new byte[] {
(byte) 0x2C, (byte) 0x00, (byte) 0xFF, (byte) 0xFE,
(byte) 0xFE, (byte) 0x04, (byte) 0x00, (byte) 0x00,
(byte) 0x00, (byte) 0x00 };

int a = getCRC1021(b, 10);
System.out.println("查表法:" + a);
String str = Integer.toHexString(a).toUpperCase();
System.out.println("十六进制:" + str);
System.out.println("计算法:" + CRC_XModem(b));
System.out.println("十六进制:"
+ Integer.toHexString(CRC_XModem(b)).toUpperCase());
}
结果:

\