String.format () y números hexadecimales en Java
Estoy tratando de entender por quéString.format()
se comporta como lo hace.
Context: clase de programación de sistemas, escribir un ensamblador.
Hay un campo hexadecimal de 5 caracteres en el archivo de objeto, que estoy creando a partir de un valor.
Intenté usar:String.format("%05X", decInt);
Esto funciona según lo previsto para números positivos (11 ->0000B
) Sin embargo, falla para los números negativos (-1 ->FFFFFFFF
en lugar deFFFFF
)
Supongo que podría tomar una subcadena de los últimos 5 caracteres, pero todavía me gustaría descubrir por qué se comporta de esta manera.