/// <summary> /// Расчет контрольной суммы /// </summary> /// <param name="arr">Блок данных</param> /// <param name="index">Индекс начала расчета</param> /// <param name="size">Размер блока для расчетов</param> /// <param name="fill">true - дополнять блок данных, расчитанной суммой</param> /// <returns>Результирующая сумма</returns> public static Boolean Check(Byte[] arr, int index, int size, Boolean fill) { UInt16 crc16 = Get(arr, index, size); if (fill) { Mem.PutByte16(arr, index + size, crc16, Endianess.Little); } else { UInt16 temp = arr.GetByte16Ex(index + size, Endianess.Little); return (temp == crc16); } return false; }