Контрольная сумма массива байт - Visual Basic .NET
Формулировка задачи:
Всем здравствуйте.
Подскажите, как подсчитать контрольную сумму массива байт.
На С это выглядит так:
где Send - имя массива из 6 байт.
На выходе должно получиться два байта контрольной суммы.
Решение задачи: «Контрольная сумма массива байт»
textual
Листинг программы
ushort CRC16(byte[] buf) { ushort i = 0xFFFF; //Нач.значение CRC-16 ushort j; for (int idx=0; idx<buf.Length; idx++) { j = (ushort)buf[idx]; i = crc(i,j); } return i; } ushort crc(ushort i, ushort j) { byte n; i ^= j; for (n=8; n>0; n--) { if ((i & 0x0001) > 0) { //Если выдвинутый вправо разряд -1 i >>= 1; i ^= 0xA001; } else { i >>= 1; } } return i; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д