| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > 16ричные числа |
| Автор: WolfON 25.1.2005, 12:58 |
| есть число в 10тичной системе(long), надо перевести его в 16ричную,только без массива чаров как-нить и без тормознутых strtoul и sprintf |
| Автор: Borisff2003 25.1.2005, 13:07 |
| В какой системе записан long вопрос очень спорный А для перевода в строку подойдет ltoa там третий параметр как раз показатель системы счисления. |
| Автор: WolfON 25.1.2005, 14:17 |
| Borisff2003 а потом записать его в массив unsigned char'ов, какие идеи? |
| Автор: Unknown_Error 25.1.2005, 15:28 |
| WolfON, тебе уже сказали, что надо юзать ltoa Открой хелп и посмотри параметры передаемые в эту функцию! |
| Автор: maxim1000 25.1.2005, 15:48 | ||||
не очень понятен вопрос, а именно: что хочется получить в результате если число в какой-нибудь системе счисления, то это по определению - последовательность цифр, а значит, массив (если такое отвращение к unsigned char, можно взять double, в конце концов P.S.
а что тут спорить? в 2^32-ричной... (ну, может 2^31-ричной, если вспомнить про знак), т.к. коэффициент один, обрабатывается целиком, составляющие отдельно не хранятся и не обрабатываются (хотя их можно выделить) |
| Автор: WolfON 25.1.2005, 18:20 | ||
maxim1000
да, как это сделать вручную? |
| Автор: maxim1000 25.1.2005, 18:47 | ||
так... я совсем запутался... тебе надо просто как-то перевести (т.е. подойдет стандартная функция) или сам алгоритм перевода? должен заметить, что даже делая все вручную никуда от массивов в том или ином виде не убежать (в крайнем случае, выводить задом наперед, но это - уже извращение)... |
| Автор: Unknown_Error 25.1.2005, 20:09 | ||
хм... и как же в нем представить числов 16 виде? В этой системе исчисления присутствуют A B C D E F (10 11 12 13 14 15) Соответственно я не думаю, что здесь можно будет обойтись без массива чаров! |
| Автор: WolfON 25.1.2005, 23:25 | ||
byte - это unsigned char
мне надо в keyreg ввести число, как? |
| Автор: Tripl-X 26.1.2005, 00:02 | ||
Вот так:
Это выведет тебе на экран 16ричное представление того, чего тебе надо... |
| Автор: WolfON 26.1.2005, 11:18 |
| Tripl-X мне НУЖНО в массив unsigned char'ов ввести 16ричное число из обычного, скажем из long, как он задается при вводе вручную вы видели, идеи |
| Автор: Borisff2003 26.1.2005, 11:34 | ||||
Так тебе надо 16-ое в виде читаемом для человека или просто байты из long повытаскивать long он и есть long и внутреннее представление не буте отличатся от того как ты его ввел Далее все одинаково
j и i одинаковы!!! Твори с ними све что хочешь. |
| Автор: LuckLess 26.1.2005, 12:46 | ||||||
не очень понятно как тебе
но может поможет этот код... с массивом чаров правда...
|
| Автор: WolfON 1.2.2005, 18:55 |
| LuckLess пасиб тебе Добавлено @ 18:55 LuckLess пасиб тебе но я тут сам сделал кое-как без массивов |
| Автор: Adil' 2.2.2005, 12:27 | ||
|