Wir haben eine J2ME-Anwendung, die Hex-Zahlen lesen muss. Die Anwendung ist für einige Telefone bereits zu groß. Daher versuchen wir, keinen anderen Codec einzuschließen oder unsere eigene Funktion dafür zu schreiben.Negative Long in Hex in Java analysieren
Alle Zahlen sind 64-Bit-Integer mit Vorzeichen in hex, wenn wir Long.ParseLong (hex, 16) verwenden, ist es richtig positive Zahlen behandelt, aber es wirft Ausnahme auf negative Zahlen,
long l = Long.parseLong("FFFFFFFFFFFFFFFF", 16);
Wie kann Wir erhalten -1 von dieser Hex-Zeichenfolge mit Klassen in Java selbst zur Verfügung gestellt?
Einige Leute könnten vorschlagen, dass wir unser Hex als -1 schreiben sollten, wie Java erwartet. Entschuldigung, das Format ist durch das Protokoll festgelegt und wir können es nicht ändern.
Nicht ganz. Das erste Zeichen könnte von 8-F sein - das wären alle negativ. –
Zweierkomplement negative Zahlen können auch mit E, D, C, B, A, 9 oder 8 beginnen – Avi
Ja, Sie haben Recht. :) – Amber