Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Своеобразное отображение hex чисел. / 9 сообщений из 9, страница 1 из 1
25.07.2013, 18:24
    #38344182
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
Доброго времени суток.

Мне нужно выводить в поток шестнадцатеричные числа, но не в таком виде: 0x1b, а в таком: 01b. Согласно специфиации формата файла, все числа, начинающиеся с нуля - представлены в hex формате.

Т.о. в формате 'x' не должно фигурировать. Если использовать std::hex и std::showbase, то получаю с префиксом '0x'. Назначение поля вида std::setw(3) не даёт недостающего нуля в качестве первый цифры. Как полю указать, что вместо пробела следует ставить нули? Или же всё же можно как-то настроить отображение базы?

Спасибо.
...
Рейтинг: 0 / 0
25.07.2013, 18:52
    #38344218
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
А может самостоятельно этот 0 писать перед выводов числа?
...
Рейтинг: 0 / 0
25.07.2013, 18:53
    #38344219
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
Compositum,

Код: plaintext
1.
2.
cout << "0";
if (value > 0) cout << hex<< value;
...
Рейтинг: 0 / 0
25.07.2013, 18:56
    #38344225
vromanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
ну или fprintf(f,"0%02x",val);
...
Рейтинг: 0 / 0
26.07.2013, 10:43
    #38344769
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
Анатолий Широков, vromanov,
Благодарю за ответы. Я надеялся, что для оператора >> существует некоторый модификатор, который мне не был известен, но решающий эту проблему. Можно, конечно, и самостоятельно прописывать 0 вручную, но этот способ мне не нравится. Вариант, предложенный vromanov более "красивый" на мой взгляд. Я помню, что ранее этот вопрос решал как-то, но никак не мог вспомнить как именно: мне почему-то казалось, что я делал это именно с помощью модификаторов для >>. Но увидев вариант от vromanov вспомнил, что тоже делал это именно средствами C.

Anatoly Moskovsky,
Так же спасибо за ответ но, насколько я вижу, он неверен. По вашему варианту в шестнадцатеричной форме будет представлено любое число, большее чем ноль, а это не то, о чём я спрашивал.

Спасибо.
...
Рейтинг: 0 / 0
26.07.2013, 11:20
    #38344837
Inkelyad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
CompositumЯ надеялся, что для оператора >> существует некоторый модификатор, который мне не был известен, но решающий эту проблему.
Спасибо.
setfill и fill не оно?
...
Рейтинг: 0 / 0
26.07.2013, 11:24
    #38344847
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
Inkelyad setfill и fill не оно?
Слона-то я и не заметил. :) Конечно же оно, спасибо!
...
Рейтинг: 0 / 0
26.07.2013, 11:54
    #38344915
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
Compositum Anatoly Moskovsky,
Так же спасибо за ответ но, насколько я вижу, он неверен. По вашему варианту в шестнадцатеричной форме будет представлено любое число, большее чем ноль, а это не то, о чём я спрашивал.

Если у вас еще и отрицательные числа - то > заменить на !=.

Для беззнаковых чисел мой код выполняет буквально то, что вы запросили:
выводить ш. число так чтобы оно всегда начиналось с 0.
...
Рейтинг: 0 / 0
26.07.2013, 12:15
    #38344964
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Своеобразное отображение hex чисел.
Anatoly MoskovskyДля беззнаковых чисел мой код выполняет буквально то, что вы запросили:
выводить ш. число так чтобы оно всегда начиналось с 0.
Виноват, что-то перемкнуло меня :)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Своеобразное отображение hex чисел. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]