要计算一个长度为15的字符数组的crc8校验码,用java该怎么实现啊?
------解决方案--------------------
public static int crc8(byte[] bs,int count){
int crc=0;
for(int i=0;i != count;i++){
int data=bs[i];
int bitCounter=8;
do{
int feedbackBit=(crc ^ data) & 0x01;
if(feedbackBit == 0x01){
crc=crc ^ 0x18;// 0X18 = X^8+X^5+X^4+X^0
}
crc=(crc >> 1) & 0x7F;
if(feedbackBit == 0x01){
crc=crc
------解决方案--------------------
0x80;
}
data=data >> 1;
bitCounter--;
}while(bitCounter > 0);
}
return crc;
}
------解决方案--------------------
也许有BUG, 没有手段验证