c CRC16位校驗輔助類

2022-01-11 07:09:12 字數 1390 閱讀 3930

public

class

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 為輸入...