| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > C Pascal на С++ |
| Автор: debil 12.12.2007, 18:39 |
| Есть железяка. В описание указано как считать контрольную сумму. двоичное дополнение суммы с циклическим переносом (в том числе последним переносом) всех байтов сообщения, кроме байта контрольной суммы Нашел пример на 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; Помогите переделать на С++ |
| Автор: bsa 12.12.2007, 18:49 | ||
|
| Автор: debil 12.12.2007, 22:04 |
| Спасибо! |
| Автор: JackYF 13.12.2007, 00:10 |
| debil, помечай тему решённой. |
| Автор: debil 13.12.2007, 19:59 |
| Для тех кто еще заинтересуется.... работает с указателем unsigned char GetCtrSum(unsigned char *Data, unsigned short Size) |
| Автор: THandle 13.12.2007, 20:02 |
и ещё привыкай пользоваться кнопкой "код" |
| Автор: bsa 13.12.2007, 22:41 |
| debil, точно у меня была ошибка - исправил. |