Estoy tratando de averiguar por qué String.format()
se comporta de la manera en que lo hace.String.format() y números hexadecimales en Java
Contexto: 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.
intentado usar: String.format("%05X", decInt);
Esto funciona como está previsto para los números positivos (11 ->0000B
) Sin embargo se produce un error para los números negativos (-1 ->FFFFFFFF
en lugar de FFFFF
)
supongo Podría tomar una subcadena de los últimos 5 caracteres, pero aún me gustaría descubrir por qué se comporta de esta manera.
El problema es el 'ancho' establecido por el método de formato, en este caso 5, es el ancho mínimo. – twain249