簡體   English   中英

如何計算數組中所有字節的總和(CRC)

[英]How to compute sum all bytes in array (CRC)

我試圖對數組(CRC)中的所有字節求和。

我有一個數組0x3A, 0x07, 0x00, 0x00, 0x80, 0x04 這個數組的CRC是3A

或者這個數組0x3A 0x09 0x00 0x00 0x80 0x03 0x01 0x00 CRC 等於 = 38

我檢查了很多算法,但沒有人不給我這個結果。

我檢查了這個(IEnumerable<byte> array) => (byte)(array.Sum(arr => arr) & 0xFF);

和這個:

byte crc = 0;
for (var i = 0; i < data.Length; i++)
    crc = crc8Table[(crc ^ data[i]) & 0xFF];
return crc;

或這個:

byte checksum = 0x00;
for (int i = 0; i < data.Length; i++)
     checksum ^= data[i];

但沒有人嘗試沒有給我一個真正的結果。 我怎樣才能找到一個算法,它會給我 CRC 3A38的數組。

我的問題的解決方案。

byte b = 0xFF;
for (var i = 0; i < data.Length; i++)
     b -= data[i];

return b;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM