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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.