Nachhilfe CRC

Gast #2079078
Lesenswert?
• ▲
▼
Hallo!

Hab folgende Frage an euch:
Hab einen Datenpaket der Struktur:
Empänger + Absender + Länge + Daten + CRC.

Jetzt ist es erlaubt, dass der Pointer auf die Daten belassen wird, aber 
deren Inhalt (aber nicht Länge) geändert werden darf.

Eigentlich müsste ich mir die aktuellen Daten holen und über alles die 
CRC neu berechnen. Jetzt habe ich mir aber gedacht, dass ja die ersten 
Bytes immmer gleich sind. Da könnte ich mir das Berechnen der CRC 
sparen, da bis dahin das Ergebnis immer gleich ist.

Wie kann man jetzt die CRC dazubringen, dass sie mit der CRC bis zur 
Länge anfängt und dann nur noch die Daten macht?

Gruß
Moni
Moderator Persönliche Seite #2079157
Lesenswert?
• ▲
▼
Moni schrieb:
> Wie kann man jetzt die CRC dazubringen, dass sie mit der CRC bis zur
> Länge anfängt und dann nur noch die Daten macht?

Der CRC-Wert muss ja immer eine initiale Zuweisung bekommen, denn
das Prinzip ist ja:
1
   crc := initialwert;
2
   while (noch_daten_vorhanden) {
3
      crc := berechne_crc(aktuelles_datum, crc);
4
   }

Der initialwert in diesem Pseudocode ist dabei in der Regel 0 oder
0xffff oder sowas; dort musst du den Wert eintragen, der sich nach
der Abarbeitung deiner Adressfelder ergibt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.