String.format() и шестнадцатеричные числа в Java

Я пытаюсь понять, почему String.format() ведет себя именно так.

Контекст: Класс системного программирования, написание ассемблера.

В объектном файле есть 5-символьное шестнадцатеричное поле, которое я создаю из значения.

Пробовал использовать: String.format("%05X", decInt);

Это работает так, как задумано для положительных чисел. (11 -> 0000B) Однако это не работает для отрицательных чисел (-1 -> FFFFFFFF вместо FFFFFF)

Полагаю, я мог бы просто взять подстроку из последних 5 символов, но мне все же хотелось бы выяснить, почему она себя ведет Сюда.

55
задан ordonezalex 27 October 2016 в 04:08
поделиться