crc
循环校验
java
代码实现
private byte[] FormCrc(byte[] CRC_buf) { //
生成
CRC-16
校验码,返回的是整型形式的数据
//
System.out.println("**********
生成
CRC-16
校验码
");
byte[] CRC = new byte[2];
int len = CRC_buf.length;
int CRC_ReturnValue = 0xffff;
int i = 0, j, temp;
while (len-- != 0) {
temp = CRC_buf[i++] & 0xff;
CRC_ReturnValue ^= temp;
// CRC_ReturnValue^=CRC_buf[i++];
j = 8;
while (j != 0) {
if ((CRC_ReturnValue & 0x01) != 0) {
CRC_ReturnValue = (CRC_ReturnValue >> 1) ^
0xA001;
} else {
CRC_ReturnValue = CRC_ReturnValue >> 1;
}
j--;