Tenemos una aplicación J2ME que necesita leer números hexadecimales. La aplicación ya es demasiado grande para algunos teléfonos, así que tratamos de no incluir ningún otro códec o escribir nuestra propia función para hacer esto.Cómo analizar Negative Long in Hex en Java
Todos los números son enteros con signo de 64 bits en hexadecimal, cuando usamos Long.ParseLong (hex, 16), se maneja correctamente los números positivos, pero ha producido una excepción en números negativos,
long l = Long.parseLong("FFFFFFFFFFFFFFFF", 16);
¿Cómo puede obtenemos -1 de esa cadena hexadecimal usando las clases provistas en Java?
Algunas personas pueden sugerir que deberíamos escribir nuestro hex como -1 como esperaba Java. Lo sentimos, el protocolo lo arregla y no podemos cambiarlo.
No del todo. El primer personaje podría ser de 8-F: todos serían negativos. –
Los números negativos del complemento de dos también pueden comenzar con E, D, C, B, A, 9 o 8 – Avi
Sí, tiene razón. :) – Amber