Nous avons une application J2ME qui a besoin de lire les nombres hexadécimaux. L'application est déjà trop grande pour certains téléphones donc nous essayons de ne pas inclure d'autre codec ou d'écrire notre propre fonction pour le faire.Comment analyser long négatif en hexadécimal en Java
Tous les chiffres sont 64 bits entiers signés en hexadécimal, lorsque nous utilisons Long.ParseLong (hex, 16), il gère correctement les nombres positifs, mais il émet une exception sur les nombres négatifs,
long l = Long.parseLong("FFFFFFFFFFFFFFFF", 16);
Comment nous obtenons -1 à partir de cette chaîne hexadécimale en utilisant les classes fournies dans Java lui-même?
Certaines personnes peuvent suggérer que nous devrions écrire notre hex comme -1 attendu Java. Désolé, le format est fixé par le protocole et nous ne pouvons pas le changer.
Pas tout à fait. Le premier personnage pourrait être de 8-F - ceux-ci seraient tous négatifs. –
Les nombres négatifs du complément à deux peuvent également commencer par E, D, C, B, A, 9 ou 8 – Avi
Oui, vous avez raison. :) – Amber