Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
porshe
52 / 46 / 17
Регистрация: 18.07.2014
Сообщений: 194
#1

Перевод длинного десятичного числа в шестнадцатиричное - C++

04.07.2015, 19:57. Просмотров 885. Ответов 12
Метки нет (Все метки)

Здравствуйте.
Очень интересует меня вопрос: как перевести большое число (до 2^128), представленное в виде строки из 10-ричной СС в число в 16-ричной СС (так же строка)?

Единственное, что приходит в голову - перевести в 2-ичную СС, а потом в 16-ричную.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2015, 19:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод длинного десятичного числа в шестнадцатиричное (C++):

Конвертор десятичного числа в шестнадцатиричное с алгоритмом преобразования - C++
Конвертор десятичного числа в шестнадцатиричное с алгоритмом преобразования (без простого вывода числа в шестнадцатиричной)... помогите...

Перевод десятичного числа в двоичное - C++
вот, что я написал #include<iostream> #include<locale.h> using namespace std; int main(){ setlocale(LC_ALL,"rus"); int digit;...

Перевод десятичного числа в шестнадцатеричное - C++
если не трудно, помогите с прогой, которая преобразует введенное десятичное число в шестнадцатеричное.

Перевод десятичного числа в двоичное - C++
Доброго времени суток всем. Программа выполняет перевод десятиричного числа в двоичное, если остаток от деления a%b==0; записывает что b (в...

Перевод десятичного числа в двоичное число - C++
Всем доброго времени суток! Собственно вот мой код, который должен переводисть число десятичное в число двоичное. Потестил я его, со...

Перевод десятичного числа во внутреннее представление - C++
Всем привет. Сделал программу перевода десятичного числа во внутреннее представление. Число лежит в диапазоне от -128 до 127 (тип char)....

12
zss
Модератор
Эксперт С++
6478 / 6041 / 1983
Регистрация: 18.12.2011
Сообщений: 15,656
Завершенные тесты: 1
04.07.2015, 20:18 #2
Если есть деление длинных десятичных чисел,
то перевод делается по стандарту:
- делите на 16, запоминаете остаток от деления в виде букв '0'-'9', 'A'-'F'
- результат деления снова делите на 16 и т.д.

Кстати, для перевода в двоичную систему пришлось бы делать то же самое, только делить на 2.
0
porshe
52 / 46 / 17
Регистрация: 18.07.2014
Сообщений: 194
04.07.2015, 20:19  [ТС] #3
Цитата Сообщение от zss Посмотреть сообщение
Если есть деление длинных десятичных чисел.
Проблема в том, что деления как раз нет.
0
zss
Модератор
Эксперт С++
6478 / 6041 / 1983
Регистрация: 18.12.2011
Сообщений: 15,656
Завершенные тесты: 1
04.07.2015, 20:26 #4
Деление длинных чисел столбиком
0
porshe
52 / 46 / 17
Регистрация: 18.07.2014
Сообщений: 194
04.07.2015, 20:29  [ТС] #5
Цитата Сообщение от zss Посмотреть сообщение
http://cppalgo.blogspot.com/2010/08/div-mod_29.html
Прикол в том, что я и так делаю длинную арифметику, без использования строк. И если я буду использовать подобный алгоритм, то это получится длинная арифметика в длинной арифметике :\
0
zss
Модератор
Эксперт С++
6478 / 6041 / 1983
Регистрация: 18.12.2011
Сообщений: 15,656
Завершенные тесты: 1
04.07.2015, 21:03 #6
Цитата Сообщение от porshe Посмотреть сообщение
представленное в виде строки из 10-ричной СС
Цитата Сообщение от porshe Посмотреть сообщение
делаю длинную арифметику, без использования строк
Как это согласуется?
0
porshe
52 / 46 / 17
Регистрация: 18.07.2014
Сообщений: 194
04.07.2015, 21:30  [ТС] #7
Цитата Сообщение от zss Посмотреть сообщение
Как это согласуется?
Я организую чтение числа из потока. А чтение организовывается исключительно с помощью строк.
0
Evg
Эксперт CАвтор FAQ
18030 / 6262 / 427
Регистрация: 30.03.2009
Сообщений: 17,205
Записей в блоге: 27
05.07.2015, 12:08 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Перевод чисел из одной системы счисления в другую
0
porshe
52 / 46 / 17
Регистрация: 18.07.2014
Сообщений: 194
05.07.2015, 12:35  [ТС] #9
Evg, спасибо
0
Evg
Эксперт CАвтор FAQ
18030 / 6262 / 427
Регистрация: 30.03.2009
Сообщений: 17,205
Записей в блоге: 27
05.07.2015, 15:14 #11
Цитата Сообщение от IrineK Посмотреть сообщение
Перевод из/в любую систему исчисления от 2 до 36
Абсолютно стандартные ошибки и, вероятно, недопонимание терминов. По смыслу названия функции вызов "DecimalToBase (12345, N, res);" должна переводить из 10'ной в N'ую. Но если я напишу "DecimalToBase (0x12345, N, res);", то функция с именем DecimalToBase начнёт переводить из 16'ной в N'ую. Что явно не согласуется ни с названием функции, ни с комментариями. Чтоб дальше не спорить, могу сразу отправить читать http://www.cyberforum.ru/blogs/18334/blog96.html
0
IrineK
Заблокирован
05.07.2015, 15:21 #12
Ага.
0
SerVal
23 / 23 / 2
Регистрация: 16.04.2015
Сообщений: 208
25.07.2015, 11:12 #13
"Прикол в том, что я и так делаю длинную арифметику, без использования строк."
- и как успехи (в смысле "быстродействие") ?
***
D:\aProjects\TestBigInt\x64\Release>TestBigInt.exe -factorial
--- factorial test ---
Calculating factorial: 100000 !
Big integer : 2824 .. 0
number of decimal digits = 456574
number of segments = 50731
Exec time : 12.839 seconds.
***
0
25.07.2015, 11:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2015, 11:12
Привет! Вот еще темы с ответами:

Перевод числа из двоично-десятичного в десятичное - C++
Помогите! Нужна программа перевода числа из двоично-десятичного в десятичное

Перевод вещественного десятичного числа в любую СС - C++
При запуске программы пользователь вводит вещественное число, записанное в десятичной системе и основание системы счисления, в которую он...

Рекурсия: перевод десятичного числа в двоичное - C++
Здравствуйте. Пытался написать пример перевода десятичного числа в двоичный с использованием рекурсии . Но при запуске выводит просто ноль...

Перевод отрицательного целого десятичного числа в двоичное - C++
Перевод отрицательного целого десятичного числа в двоичное


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru