Hallo ihr Experten. Ich habe ein Problem bezüglich Java und unsigned Byte. Ich arbeit gerade an YModem-Protokoll. Das Protokoll hat 2 CRC16 (Cheksum)Byte. Der Empänget ist in µC und ist mit C programmiert. Wenn ich jetzt mein CRC-Berechnungen mache (Die Routine muss in java sein) bekomme ich teilweise Werte über 127(Dezimal), da Java kein unsigned Byte hat, bekomme ich negative Werte wenn ich die in Datentyp byte konvertiere.Die Werte verfälschen ja mein CRC beim übertragen. Meine Frage wäre, wie kann ich diese Werte als positiv bzw. als unsigned Byte übertragen?
Hi,
ist der Fehler tatsächlich aufgetreten? Die Byte-Arithmetik ist immer eine Restklassenarithmetik mod 256, egal ob signiert oder unsigniert. D.h. die Bitmuster sollten dieselben sein, nur die Interpretation bei Textausgabe ist unterschiedlich.
Eingabe sollte mit als int einlesen und nach Byte umcasten auch fehlerfrei funktionieren.
Gruß Lutz