Я использую stringstream для преобразования моих данных, и он отлично работает, за исключением одного случая.Форматирование вывода подписанных шестнадцатеричных цифр
Я вычитаю два целочисленных значения, которые могут оказаться отрицательными или положительными. Я принимаю это значение и отправляю его на свой объект stringstream
с использованием std::hex
, а также его сбрасывают до std::cout
.
Моя проблема в том, что мое поле для этого значения может быть только 3 цифры в длину, и когда я получаю отрицательное значение, он накладывает его на слишком много ведущих F. Кажется, я не могу получить какие-либо функции std (setw
, setfill
, ...).
Может ли кто-нибудь указать мне правильное направление?
Пример:
Value - Value = -9, So what I want is FF9 but what I get is FFFFFFF9.
Мой код, чтобы отправить значение моего stringstream объекта сс
ss << hex << value - LocationCounter;
Какие вовлеченные типы фактически? 'unsigned int', указатели? –
Вы знакомы с расширением знака? – user4581301
С одной стороны, '-9' является' FF..FF7', а не 'FF..FF9' –