Konvertiere C CRC16 in Java CRC16

8

Ich arbeite gerade an einem Projekt, bei dem ein eingebettetes System Daten per Funk an einen PC sendet. Die Pakete erhalten am Ende eine crc16-Prüfsumme, die basierend auf diesem Algorithmus berechnet wird:

%Vor%

Jetzt suche ich nach einer Entsprechung in Java. Ich habe hier schon einen guten gefunden: Ссылка

%Vor%

Aber das funktioniert nicht mit meinem C-Code.

Kann jemand eine Anpassung oder Lösung für einen C- und Java-äquivalenten Algorithmus liefern? Danke!

    
tellob 03.11.2012, 12:51
quelle

1 Antwort

22

Der Hauptunterschied zwischen Java und c in diesem Fall ist die Tatsache, dass Sie in c nicht vorzeichenbehaftete Zahlen verwenden und in Java nur Zahlen. Während Sie den gleichen Algorithmus mit vorzeichenbehafteten Zahlen implementieren können, müssen Sie sich der Tatsache bewusst sein, dass das Vorzeichen-Bit bei Schichtoperationen übernommen wird, was ein zusätzliches "und" erfordert.

Dies ist meine Implementierung:

%Vor%     
thedayofcondor 03.11.2012, 12:59
quelle

Tags und Links