Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / шестнадцатиричные значения / 12 сообщений из 12, страница 1 из 1
05.01.2005, 15:40
    #32854525
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
есть данные в файле в шестнадцатеричном виде, т.е.

12 34 5F - это число 12345

как его правильно считать?

нужно на С под ДОС
...
Рейтинг: 0 / 0
05.01.2005, 15:56
    #32854552
SLab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
какие именно числа 1,2,4 байтные
...
Рейтинг: 0 / 0
05.01.2005, 17:13
    #32854673
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
есть 1, 2, 3, 4, 5, 6, 7, 8, 9 и т.д. байтные числа

когда я смотрю файл в шестнадцатеричном редакторе, то я вижу их

1F
12 3F
23 45 6F

и т.д.
теперь нужно прочитать файл и записать в другой файл в текстовом виде
1
123
23456
...
Рейтинг: 0 / 0
05.01.2005, 17:20
    #32854682
SLab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
Вы наверно ошибаетесь число 1F в 16-с\с
это 31 в десятичной
...
Рейтинг: 0 / 0
05.01.2005, 17:32
    #32854695
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
наверное я не так объясняю

число 1 в 16 -> 1F
12 -> 01 2F
123 -> 12 3F

так уж их туда посадили
т.е. если я вижу в 16 -> 123F , то мне нужно его преобразовать в строку 123
и записать в файл
...
Рейтинг: 0 / 0
05.01.2005, 18:05
    #32854716
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
2 Samir

Это похоже на BCD-арифметику. Только символ F является как-бы замыкающим цепочку. Так я понял?
...
Рейтинг: 0 / 0
06.01.2005, 17:42
    #32855624
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
Поняли то правильно, но как это сделать?
Может есть готовые алгоритмы?
...
Рейтинг: 0 / 0
06.01.2005, 18:10
    #32855653
не понятно
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
трудно перевести байт в 16 формат и забрать первую-вторую цифру?
какие ещё нужны алгоритмы?
...
Рейтинг: 0 / 0
10.01.2005, 12:47
    #32857388
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
Да уж, блин, алгоритмы !
char digits[] = {'0','1','2','3','4','5','6','7','8','9'}

char srcByte = ...

char firstDigit, secondDigit;

firstDigit = digits[ (srcByte & 0xF0) >> 4 ];
secondDigit = digits[ srcByte & 0x0F ];
...
Рейтинг: 0 / 0
10.01.2005, 13:12
    #32857413
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
MasterZivДа уж, блин, алгоритмы !
char digits[] = {'0','1','2','3','4','5','6','7','8','9'}

char srcByte = ...

char firstDigit, secondDigit;

firstDigit = digits[ (srcByte & 0xF0) >> 4 ];
secondDigit = digits[ srcByte & 0x0F ];

Спасибо MasterZiv. Я как раз это и собирался написать.
...
Рейтинг: 0 / 0
11.01.2005, 12:16
    #32858766
Samir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
Спасибо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
31.01.2007, 16:30
    #34296851
sax_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шестнадцатиричные значения
Подниму годовалый топик. Меня интересует, а как обратно сделать вышеизложенное преобразование, т.е число 12345 перевести в 12345F (hex)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / шестнадцатиричные значения / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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