AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Checksumme in einem Übertragungsprotokoll bilden (LSB)
Thema durchsuchen
Ansicht
Themen-Optionen

Checksumme in einem Übertragungsprotokoll bilden (LSB)

Ein Thema von bug0815 · begonnen am 16. Feb 2009 · letzter Beitrag vom 17. Feb 2009
 
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#11

Re: Checksumme in einem Übertragungsprotokoll bilden (LSB)

  Alt 16. Feb 2009, 10:34
Zitat von bug0815:
...
Kann mir wer plausibel erklären, oder einen hilfreichen Link posten, was die 8 LSB meiner Summe 2179 (Dezimal), oder 0883 (Hex) sind. Wenn ich das mal Verstanden habe, kann ich etwas leichter nach weiteren Lösungsansätzen suchen.
Hallo,

es ist viel einfacher als du denkst: in Hex-Darstellung sind das die letzten beiden Digits, also von $883 wird nur $83 verwendet. Deshalb brauchst du beim Summieren die oberen Bits und Bytes garnicht mitrechnen, du kannst immer gleich nur das unterste Byte weiterverwenden:

Delphi-Quellcode:
function TForm1.CreateCheckSum(InStr: String): String;
var rCount,
    Sum : Integer;
begin
  Sum := 0;
  for rCount := 1 to Length(InStr) do
  begin
    Sum := (Sum + Ord(InStr[rCount])) and $FF;
   { oder Sum := (Sum + Ord(InStr[rCount])) Mod 256; }
  end;
  Result := IntToStr(Sum) + ' (' + IntToHex(Sum, 2) + ')';
end;
Dann brauchst du dir keine Gedanken darüber machen, wie gross die Summe werden kann.

WS1976: was soll er denn mit einem CCITT -Algorithmus, wenn das Gerät eine einfache Checksumme verwendet? Schreibst du die Geräte-Firmware für ihn um?

Gruss Reinhard

PS: wenn ich meine Geräte dokumentiere, rechne ich auch immer reale Prüfsummen aus, aber das ist mühsam; vielleicht hat sich der Autor einfach gedacht, 55 ist doch eine schöne Zahl, ohne das in Bezug zum Beispielstring zu setzen. Oder er hat sich einfach verrechnet.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz