我在android/java中写了一个校验和计算函数。功能如下
void CalculateCheckSum( byte[] bytes ){
short CheckSum = 0, i = 0;
for( i = 0; i < bytes.length; i++ ){
CheckSum = (short) ((short)CheckSum + (short)bytes[i]);
}
Log.i("Checksum", Integer.toHexString(CheckSum));
}
用于计算校验和的输入值为 0xEF、0x01、0xEF、0x01、0x33、0x0C、0xB8、0xE5、0xFC、0x34、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF。我手动计算了校验和值,结果是 0xCE4。使用上述函数时,我得到的答案为 0xFFFFFFE4。我的计算是否有任何错误,如果是,请纠正我。
谢谢