Forum: Mikrocontroller und Digitale Elektronik CRC Berechnung Codewort


von Daniel M. (daniel_91)


Lesenswert?

Hallo zusammen,

ich habe mir gerade diesen Artikel zum Thema CRC angesehen:
http://www.mikrocontroller.net/articles/CRC

Dort wird der Rest aus der Division von 111010011100100000:100110 
berechnet. Dieser ist laut dem Artikel 100 (alles in Binärdarstellung). 
In C lässt sich der Rest einer Division ja wunderbar mit dem 
Modulo-Operator berechnen. Wenn ich allerdings 111010011100100000%100110 
berechne, bekomme ich als Ergebnis 11110 raus und nicht 100.

In Dezimalzahlen entspricht 111010011100100000 = 239.392 und 100110 = 38 
und tatsächlich ist das Ergebnis der Division von 239.392:38 = 6299 Rest 
30. Und 30 entspricht der Binärzahl 11110 und nicht 100.

Kann mir mal bitte Jemand sagen, warum der Modulo-Operator hier nicht 
funktioniert oder wo mein Fehler liegt?

Vielen Dank

von Dussel (Gast)


Lesenswert?

Das Codewort wird als Koeffizienten eines Polynoms interpretiert. 
Deshalb muss man eine Polynomdivision durchführen.
101 wäre 1*x^2+0*x+1
Dann passt es auch. Leider ist das ein bisschen komplizierter als 
Modulo.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.