publicclass
crc16helper
byte crcbuf =bytedata.toarray();
//計算並填寫crc校驗碼
int crc = 0xffff
;
int len =crcbuf.length;
for (int n = 0; n < len; n++)
crc = crc & 0xffff
; }
}string redata = new
string[2
]; redata[
1] = convert.tostring((byte)((crc >> 8) & 0xff), 16
); redata[
0] = convert.tostring((byte)((crc & 0xff)), 16
);
return data + "
" + redata[0] + "
" + redata[1
]; }
//////
crc校驗
/// ///
///public
static
byte crc16(byte
bytes)
crc = crc & 0xffff
; }
}var nl = bytes.length + 2
;
//生成的兩位校驗碼
byte redata = new
byte[2
]; redata[
0] = (byte)((crc & 0xff
)); redata[
1] = (byte)((crc >> 8) & 0xff
);
//重新組織位元組陣列
var newbyte = new
byte
[nl];
for (int i = 0; i < bytes.length; i++)
newbyte[nl - 2] = (byte)redata[0
]; newbyte[nl -1] = redata[1
];
return
newbyte;
}}
第乙個方法是把校驗位返回,返回的是字串
第二個是在第乙個的基礎上改的,返回的是加了校驗位之後的資料,位元組陣列。
說明:**來自好網際網路。
C XOR CRC16 校驗碼計算類
cyclic redundancy check迴圈冗餘檢驗,是基於資料計算一組效驗碼,用於核對資料傳輸過程中是否被更改或傳輸錯誤。1 迴圈校驗碼 crc碼 是資料通訊領域中最常用的一種差錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。2 生成crc碼的基本原理 任意乙個由二進位制位串組成的 ...
串列埠通訊中CRC16校驗類的實現
一 crc16簡介 迴圈冗餘碼crc檢驗技術廣泛應用於測控及通訊領域。crc計算可以靠專用的硬體來實現,但是對於低成本的微控制器系統,在沒有硬體支援下實現crc檢驗,關鍵的問題就是如何通過軟體來完成crc計算,也就是crc演算法的問題。下面給出按位元組計算crc16的演算法。二 crc16演算法 其...
C 實現計算乙個檔案的16位校驗和
1 問題敘述 編寫乙個電腦程式用來計算乙個檔案的 16 位校驗和。最快速的方法是用乙個 32 位的整數來存放這個和。記住要處理進製 例如,超過 16 位的那些位 把它們加到校驗和中。要求 1 以命令列形式執行 check sum infile 其中 check sum 為程式名,infile 為輸入...