[英]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 3A
或38
的數組。
我的問題的解決方案。
byte b = 0xFF;
for (var i = 0; i < data.Length; i++)
b -= data[i];
return b;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.