IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Длинные числа, C++
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 151
Пол: Мужской
Реальное имя: иван

Репутация: -  0  +


Volvo Когда я делал эту программу на C ты писал:
Цитата
Если б ты делал это на С++, то можно было бы привести пару ссылок на хорошие классы для работы с длинными целыми, но раз у тебя чистый С - не буду...
Теперь если тебя не затруднит можеш привести эту пару ссылок smile.gif ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 151
Пол: Мужской
Реальное имя: иван

Репутация: -  0  +


Ну тогда возникает такой вопрос как лучше хранить длинное число?На С я хранил в short int....В общем как сделать лучше всего чтоб как меньше памяти занимало?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Посмотри библиотеку BigUnsigned (от trainer-а)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 151
Пол: Мужской
Реальное имя: иван

Репутация: -  0  +


Вобщем вот какая проблема......реализовал конструктор в который передается строка (большое число храню в векторе short в каждом элементе хранится по 4 числа) и перегрузил << и вот незнаю как учитывать нули на конце числа те если я в конструктор засуну "111100" то в векторе будет лежать [1111][0] так вот как мне учесть что на конце 2 нуля а не 3 или 4?Прикрепляю свой проек... Помогите пожалуйста smile.gif

Сообщение отредактировано: blackhard -


Прикрепленные файлы
Прикрепленный файл  C__2LongNumTarasov.rar ( 64.69 килобайт ) Кол-во скачиваний: 114
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(blackhard @ 24.11.2008 15:37) *
если я в конструктор засуну "111100" то в векторе будет лежать [1111][0]
Странно.. а почему не в обратном порядке?
111100 -> [11][1100]
Тогда будут теряться не последние нули (значимые), а передние (незначимые)


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
как мне учесть что на конце 2 нуля а не 3 или 4?
У тебя же была правильная задумка... Вот этот самый count, который ты описал в классе Longnum, должен хранить общее число записанных в вектор цифр. Тогда то, сколько нулей представляет собой в последний элемент, элементарно вычисляется, используя этот счетчик...

Кстати, использовать std::vector для хранения цифр при реализации длинной арифметики можно только при желании огрести потом кучу проблем со скоростью.

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.10.2021 0:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name