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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
gGrn-7DA
мну довольно <(-__-)l
203 / 192 / 1
Регистрация: 17.01.2010
Сообщений: 2,392
Завершенные тесты: 1
#1

Перевод длинного двоичного числа в десятичную СС - C++

24.09.2010, 15:38. Просмотров 2109. Ответов 7
Метки нет (Все метки)

Как можно перевести число из двоичной системы счисления в десятичную ели число длиной в 100-300 знаков...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2010, 15:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод длинного двоичного числа в десятичную СС (C++):

Перевод двоичного числа в десятичное - C++
Программа принимает введенное с клавиатуры двоичное число, например 1011, и выводит его десятичное представление, для 1011 - 11. Программа...

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

Перевод числа из двоичной сс в десятичную (рекурсия) - C++
Всем привет! Подкинули задачку тут: Разработать рекурсивную функцию, возвращающую значение. Для перевода числа из двоичной сс в...

Перевод числа из двоичной в десятичную и наоборот. - C++
Помогите пожалуйста написать прогу перевода числа из двоичной системы счисления в десятичную и наоборот на языке &quot;C&quot;.Я в этом...

Перевод числа из двоичной системы в десятичную - C++
Помогите написать программу для перевода из 2 в 10. Если число делится на 3, то вывести и результат деления

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

7
M128K145
Эксперт С++
8297 / 3517 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.09.2010, 17:09 #2
Как вы храните это число?
0
gGrn-7DA
мну довольно <(-__-)l
203 / 192 / 1
Регистрация: 17.01.2010
Сообщений: 2,392
Завершенные тесты: 1
24.09.2010, 17:47  [ТС] #3
bool[]

Добавлено через 9 минут
точнее пока никак...думаю стоит ли браться, но все остальное уже продумал. осталось решить проблему с чтением числа с клавиатуры и выводом на экран.
хотя естественно можно выводить и в одной из 2^k-ричных систем счисления, но это как то не очень наглядно=)
выбрал представление такое в силу потребности реализации деления.

при умножении покусочно(сектор из 30 символов) буду переводить в ulong, а там по мат формулам перевод идет довольно резво, но только если итоговое число вмещается в встроенный тип.

Программа должна будет оперировать с числами длинной 1000+ символв в 2-ой системе счисления.

Да, знаю что есть уже подобные реализации и даже спец программы, в которых гораздо легче реализовывать алгоритмы

но есть жедание самому сделать, да и препод сказал что было бы не плохо. лишний плюс к курсовику не бывает=)

это не курсовик, курсовик по криптографии...
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
24.09.2010, 17:57 #4
gGrn-7DA, хранить в bool бесмыслленно, лучше уж в uchar. да и переводить в ulong потом проще будет.
а не очень наглядно будет вводить строки по 300 символов
0
gGrn-7DA
мну довольно <(-__-)l
203 / 192 / 1
Регистрация: 17.01.2010
Сообщений: 2,392
Завершенные тесты: 1
24.09.2010, 18:02  [ТС] #5
не волнуйся экран широкий, а шрифт и подправить можно...

а на счет простоты перевод в ulong буду проводить при помоши операторов >> и <<. не сказал бы что сложно, да и скоростью не уступают думаю,

пока живешь нужно все повидать=)

Добавлено через 50 секунд
да и скорее всего все будет вводиться и выводиться из файла...
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
24.09.2010, 18:03 #6
gGrn-7DA, да я как раз про то, что bool по своему смыслу все таки должен хранить результат логических операций. а 0 или 1 в данном случае число. я бы понял, если бы тип bool занимал 1 бит в памяти, а так... лучше все таки char.
переводить будет проще в том смысле, что в char массив можно считывать сразу. а потом уже двигать.

C
1
2
3
4
5
char a[];
// чтение строки в char-массив 
ulong n;
// цикл преобразования сдвигами в ulong
n <<= a[i] - '0';
лишнее преобразование из строки в bool, зачем оно?
0
gGrn-7DA
мну довольно <(-__-)l
203 / 192 / 1
Регистрация: 17.01.2010
Сообщений: 2,392
Завершенные тесты: 1
24.09.2010, 18:46  [ТС] #7
не знаю еще....

и в правду не очень удобно постоянно переводитьчисла туда обратно.
я сначала хотел реализовать методику 10 битового числа хранящего трех значные десятичные числа, это удобно для вывода дечятичных чисел на экран, хотя можно было и 20, и 30, и 60 битовые реализовать и запихать их в инты и лонги..но это детали...

при этом довольно сложно реализовать деление, которое при битовом(буловом) представлении реализуется довольно просто... мне всего то остаток нужно вычислить...

по очереди из делителя начиная со старшего читаются биты и приписываются в конец некоторой переменной как только переменная >делителя производим вычитание, и повторяем прписывать в конец числа биты, даже не нужно реализовыввать смещение можно просто хранить адрес последнего бита числа и так сказать ходить по кругу...

не сердчайте на мои формулировки, просто немного тяжело сейчас мне мысли материализовывать свои=)

Добавлено через 31 минуту
так есть идеи какие? или так и придется использовать 8-/16-ричную систему счисления?
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
24.09.2010, 20:44 #8
gGrn-7DA, если это не студенческая задача, то можно воспользоваться готовыми библиотеками, например, Big Integer Library. Там можно загрузить число из строки в любой СС и потом обратно конвертнуть.
0
24.09.2010, 20:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2010, 20:44
Привет! Вот еще темы с ответами:

Разбор программы.Перевод двоичного числа в десятичн - C++
char bin // изображение двоичного числа, почему именно так и что такое bin? нигде не могу найти long int dec //десятичное число, что...

Перевод двоичного числа в шестнадцатеричную систему счисления - C++
дано целое число в двоичной системе счисление,т.е. последовательность чисел 0 и 1. Составить программу перевода этого числа в...

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

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


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

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

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