![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Юрон |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Реальное имя: Юрий Репутация: ![]() ![]() ![]() |
Есть железяка. В описание указано как считать контрольную сумму.
двоичное дополнение суммы с циклическим переносом (в том числе последним переносом) всех байтов сообщения, кроме байта контрольной суммы Нашел пример на Pascal подсчета контрольной суммы function GetCtrSum (Data : PByteArray; const Size : WORD) : byte; function AddOne (Val : word) : word; begin while Val > 256 do begin WordRec (Val).Hi := 0; Val := Val + 1; end; result := Val; end; var I, R : word; x : byte; begin R := 0; for I := 0 to Size - 1 do R := AddOne (R + Data^[I]); x := R xor $FF; R := AddOne(x + 1); result := WordRec®.Lo; end; Помогите переделать на С++ ![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 21:29 |