Перевод числа из hex в dec10.07.2016, 15:37. Показов 36699. Ответов 40
Метки нет (Все метки)
Привет, можете подсказать как можно перевести 16-ричное число произвольной длины (например, заданное с помощью строки) в десятичную сс? (также можно в строку)
0
|
|
| 10.07.2016, 15:37 | |
|
Ответы с готовыми решениями:
40
Перевод чисел Bin - Oct - Dec - Hex [BMP] HEX (из HEX-редактора) в DEC Из Hex в Dec |
| 12.07.2016, 21:47 | |
|
0
|
|
| 12.07.2016, 21:50 [ТС] | |
|
IGPIGP, к сожалению, не получилось
![]() '1', '2', 'A', 'C', 'c', 'f' - я так понял представляется число 12ACCF в hex По идее результат перевода в dec число должен содержать как минимум столько же цифр, сколько их было изначально в hex, а у вас число цифр в числе уменьшилось)
0
|
|
|
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
|
||||||
| 12.07.2016, 21:53 | ||||||
|
Ferrari F1,
2
|
||||||
|
Комп_Оратор)
|
||
| 12.07.2016, 22:08 | ||
|
но логика кривая, да. Цифры 16-ричные а представляют будто десятичные разряды. ![]()
0
|
||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 13.07.2016, 07:54 | ||||||
1
|
||||||
| 13.07.2016, 11:59 | |
|
Не по теме: Mr.X - человек из космоса с мегаформатным кодом
0
|
|
| 13.07.2016, 14:20 [ТС] | |
|
HenryDukart, можете объяснить словесно алгоритм пожалуйста?
Мне бы просто никогда не взбрело в голову использовать стек. Возможно, потому, что ни разу не писал деление...
0
|
|
|
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
|
|||||||||||
| 13.07.2016, 14:40 | |||||||||||
|
Ferrari F1, алгоритм работает согласно вашему рисунку. Функция divide_by_10 делит число в шестнадцатеричной системе, которое находится в строке, на 10. Возвращает остаток от деления (в десятичной системе в виде int) и частное (в виде строки в шестнадцатеричной системе). Частное на предыдущем шаге используется как делимое на следующем.
Остатки помещаются в стек, потому что их нужно будет извлекать в обратном порядке (опять же смотрите вашу картинку). Проблема будет, если на вход подать "0". Чтобы убрать эту ошибку необходимо исправить цикл
1
|
|||||||||||
| 13.07.2016, 14:45 [ТС] | |
|
HenryDukart, я просто уже 3ий день бился над реализацией этого алгоритма.
В голову ничего не приходит путнего. Не додумался использовать стек и строковые потоки (хоть и в вашем коде используется устаревшая их версия). Я не знаю как преобрести навык проектирования алгоритма решения задачи. Может, посоветует кто, как такое умение приобрести?
0
|
|
|
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
|
|
| 13.07.2016, 14:49 | |
|
Ferrari F1, книги и практика вам в помощь.
0
|
|
| 13.07.2016, 14:53 [ТС] | |
|
HenryDukart, у меня просто не получается формализовать этот процесс (процесс продумывания алгоритма) на все возникающие передо мной задачи.
По-вашему, есть какие-то общие правила составления алгоритма или это творческий процесс?
0
|
|
|
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
|
|
| 13.07.2016, 15:13 | |
|
Ferrari F1,
Не по теме: Считаю, что изобретение алгоритма требует много знаний, творческого потенциала и, возможно, везения. А вот уже для самого "кодирования" достаточно обладать памятью и опытом.
0
|
|
| 13.07.2016, 16:42 [ТС] | |
|
Нуу, я немного не об этом, конечно... Я вот знаю как на бумажке делить в столбик.
А как научиться переводить этот навык на компьютерный язык? Вот в подобных случаях и возникают, как правило, трудности...
0
|
|
| 13.07.2016, 16:49 | ||
|
Несколько раз в теме писалось: "нужна длинная арифметика". Ее в интернете навалом - и на строках и на массивах и на векторах, но ТС ничего ни искать ни делать самостоятельно (по аналогии со школьным умножением и сложением в столбик) не стал. С таким подходом С++ никогда не осилить
1
|
||
| 13.07.2016, 16:59 [ТС] | |||||||
|
А вместо этого получается какая-то лажа в виде багов. Пишешь например, а потом выясняется, что числа типа F00001 неверно обрабатываются из-за наличия промежуточных нулей. Или например первая (или любая внутренняя) цифра в числе не делится нацело на десять (она меньше 10), тогда нужно запоминать эту цифру и к след. разряду ее приписывать (1F01). Слишком много случаев получается, и в голове их все, бывает, не можешь удержать. Как следствие - баги...
0
|
|||||||
| 13.07.2016, 17:05 | |
|
Если код есть, то его надо писать в первом сообщении, а не в 35м. Причем писать с комментариями, зачем, что и как делаешь. Вместе со словесным описанием алгоритма, который реализует этот код. Тогда будет видно, где и какие ошибки и времени (нашего и вашего) будет потрачено меньше, а толку будет больше.
Вот, как-то так
0
|
|
| 13.07.2016, 17:15 [ТС] | |
|
И я ума не приложу, как так в голове продумать алгоритм, чтобы он был обобщенным, а не охватывал лишь частные случаи..
Это я говорю не только о делении, а вообще обо всех возникающих задачах... Добавлено через 3 минуты Перед тем, как писать это деление, я никакой архитектуры программы не продумывал. Просто сел и так навскидку попытался сделать... Без псевдокода, диаграмм и тп, как пишут об этом в книгах. И как результат, тут некоторые накидали код за час-два, а я за третий день не могу нормально ничего набросать. Да как вобще бороться с этой проблемой?
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 13.07.2016, 17:46 | ||
|
1
|
||
| 14.07.2016, 15:10 | ||
|
От программиста нужен результат, а не медитации и объяснения типа "хотел обобщить, сделать лучше, эффективнее, но не получилось". Все обобщения и улучшения - после (если они окажутся действительно необходимыми). Что на самом деле лучше выясняется в процессе реализации, а не в процессе многодневного "нечегонеделания".
1
|
||
| 14.07.2016, 15:10 | |
|
Из HEX в DEC
Перевод из HEX в DEC перевод из hex в dec Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|