![]() |
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; Помогите переделать на С++ ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Для железки лучше на Сях, без плюсов... Как-то вот так:
typedef struct _cvt { Сообщение отредактировано: volvo - 12.12.2007 20:25 |
Юрон |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Реальное имя: Юрий Репутация: ![]() ![]() ![]() |
Спасибо volvo
![]() ![]() |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 17:31 |