Перевод числа из hex в dec10.07.2016, 15:37. Показов 36145. Ответов 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 | |
|
Помогаю со студенческими работами здесь
40
Из HEX в DEC
Перевод из HEX в DEC перевод из hex в dec Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|