pFrame是一個結(jié)構(gòu)體指針,++ 表示通過指針獲取結(jié)構(gòu)體中的每一個元素。
創(chuàng)新互聯(lián)專注于鷹手營子網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供鷹手營子營銷型網(wǎng)站建設(shè),鷹手營子網(wǎng)站制作、鷹手營子網(wǎng)頁設(shè)計、鷹手營子網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造鷹手營子網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鷹手營子網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
代碼如下
public static byte CRC8(byte[] buffer)
? {
? ? ? byte crc = 0;
? ? ? for (int j = 0; j buffer.Length; j++)
? ? ? {
? ? ? ? ? crc ^= buffer[j];
? ? ? ? ? for (int i = 0; i 8; i++)
? ? ? ? ? {
? ? ? ? ? ? ? if ((crc 0x01) != 0)
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? crc = 1;
? ? ? ? ? ? ? ? ? crc ^= 0x8c;
? ? ? ? ? ? ? }
? ? ? ? ? ? ? else
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? crc = 1;
? ? ? ? ? ? ? }
? ? ? ? ? }
? ? ? }
? ? ? return crc;
? }
private static String mkCrc16(String str) {
CRC16 crc16 = new CRC16();
byte[] b = str.getBytes();
for (int i = 0; i b.length; i++)
crc16.update(b[i]);
return Integer.toHexString(crc16.value);
}
private static String mkCrc(String string) throws Exception {
CRC32 crc32 = new CRC32();
crc32.update(string.getBytes());
return Long.toHexString(crc32.getValue());
}
public class CRCUtil {
public static final int evalCRC16(byte[] data) {
int crc = 0xFFFF;
for (int i = 0; i data.length; i++) {
crc = (data[i] 8) ^ crc;
for (int j = 0; j 8; ++j)
if ((crc 0x8000) != 0)
crc = (crc 1) ^ 0x1021;
else
crc = 1;
}
return (crc ^ 0xFFFF) 0xFFFF;
}
}
以下是我的分析,不知是否正確,你參考下1、首先來看你打java代碼:crc=(byte)((crc1)^0x8c);和 crc=(byte)(crc1); 導(dǎo)致這個問題是因為byte的最高位符號位,轉(zhuǎn)換的時候就出錯了2、示例代碼:package com.test;public class test {public static void main(String[] args) {byte[] ptr = { 1, 1, 1, 1, 1, 1 };byte res = getCrc(ptr);System.out.println();System.out.println((byte)( (1 1) ^ 0x8c ) + ":" +( (1 1) ^ 0x8c ) );}public static byte getCrc(byte[] ptr) {int crc = 0;for (int i = 0; i 1) ^ 0x8c;} else {crc = crc 1;}}}return (byte) crc;}}
short CityComGetCRC(final byte[] data,short length){
short?crc=0,q;
short?c,i;
for(i=0;ilength;i++){
c=data[i];
q=(crc^c)0x0f;
crc=(crc4)^(q*0x1081);
q=(crc^(c4))0xf0;
crc=(crc4)^(q*0x1081);
}
return?crc;
}