Строка.формат() и шестнадцатеричные числа в Java
Я пытаюсь понять, почему String.format()
ведет себя так, как это делает.
контекст: класс системного программирования, написание ассемблера.
в объектном файле есть 5-символьное шестнадцатеричное поле, которое я создаю из значения.
попытался с помощью: String.format("%05X", decInt);
это работает как предназначено для положительных чисел
(11 -> 0000B
)
Однако это не удается для отрицательных чисел
(-1 ->FFFFFFFF
вместо FFFFF
)
Я полагаю, что я мог бы просто взять подстрока из последних 5 символов, но я все равно хотел бы выяснить, почему он ведет себя таким образом.