Wie berechnest du die XOR-Rest verwendet in CRC?
Ich versuche daran zu erinnern, wie der Mathematik, ausgearbeitet zum berechnen des Rests einer XOR-Algorithmus der Zyklischen Redundanzprüfung, um zu überprüfen, die restlichen bits einer Nachricht im Netzwerk.
Ich sollte nicht geworfen, das text-Buch.
Dies ist leicht getan, im code, aber wie ist es gelaufen mit der hand?
Ich weiß, es sieht etwas aus wie ein standard-division-Algorithmus, aber ich kann mich nicht erinnern, wo Sie gehen von dort aus um den Rest.
___________
1010 | 101101000
Hinweis: habe ich es google, aber war nicht in der Lage, einen Platz zu finden, wo Sie kartiert die Schritte herauszufinden der Rest.
InformationsquelleAutor Jeremiah | 2008-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist lange division durch binäre 11. Es ist ein Beispiel,Wikipedia.
InformationsquelleAutor Rasmus Faber
Damit 101101000 perfekt ist und keine Fehler bei der übertragung/Empfang
InformationsquelleAutor Anant Rao
Meiner Erfahrung nach ist es einfacher, es zu konvertieren, um ein Polynom bei der Berechnung von hand, vor allem, wenn es gibt eine Menge von Nullen.
Dann teilen Sie die größte Begriff, die Dividende (
x^8
) mit der ersten Amtszeit in der divisor (x^3
), die in derx^5
. Setzen Sie diese Zahl auf der Oberseite und dann multiplizieren es mit jedem Begriff in der divisor. Daraus ergibt sich die folgende für die erste iteration:Tun XOR für jeden term ergibt dann das neue Dividende:
x5 + x3
:Folgen dem gleichen Muster, bis die Dividende der größte Begriff, der kleiner ist als der divisor der größte Begriff. Nachdem die Berechnungen abgeschlossen sind, wird es so Aussehen:
Die Erinnerung in diesem Fall ist 0, was darauf hindeuten würde, dass wahrscheinlich kein Fehler aufgetreten ist während der übertragung.
Hinweis: ich habe gekürzt
x^y
alsxy
im Beispiel oben, reduzieren die Unordnung in der Antwort, da SO keine Unterstützung für mathematische Gleichung Formatierung.Note2: Addition/Subtraktion eines vielfachen der Teiler aus der Dividendenzahlung wird auch die Erinnerung 0, da
(P(x) + a*C(x)) /C(x) = P(x)/C(x) + a*C(x)/C(x)
gibt die gleiche Erinnerung wieP(x)/C(x)
da die Erinnerung ana*C(x)/C(x)
ist 0.InformationsquelleAutor Marcus