Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Вторая ссылка по указанному запросу: 15.12.04 17:36 Число просмотров: 5985
Автор: amirul <Serge> Статус: The Elderman
|
> > А чего тут помогать то? Собственно > > > http://www.google.com/search?q=multi+precision+library&sour > > ceid=opera&num=0&ie=utf-8&oe=utf-8 > > Я в свое время так и не нашел ничего подходящего. Может > потому, что мне требовалось возможность работы с числами > неограниченной размерности. Ну ограниченной размерами > оперативной памяти. Вторая ссылка по указанному запросу:
https://www.cosic.esat.kuleuven.ac.be/nessie/call/mplibs.html
Кста, gmp - работает с числами НЕОГРАНИЧЕННОЙ разрядности (ограниченной только размерами памяти:-) ). По необходимости она расширяет количество, но для большей эффективности стоит сразу же зарезервировать необходимый размер.
> Я без проблем реализовывал и без бита переноса, только это > было раза в два-три медленнее. Просто обрабатывал 16 битные > значения, преобразовав к 32 дополняя нулями. После сложения > 32 битных младшая часть - результат, старшая - перенос. При > сложении обычно 0 или 1, при умножении - что угодно. Ага. Только в этом случае даже при сложении/вычитании возникает огромный оверхед, а уж при умножении и не приведи господь делении - совсем мрачно становится. Кстати, я тоже использовал 16-тибитные лимбы. Сложение вычитание одинаковых по размерности чисел было примерно в 10 раз медленнее, чем в gmp.
> А я разве не о том же самом. Ну да. Просто я дальше об умножении в терминах O заговорил, и чтобы быть последовательным привел оценку и тут :-)
> Ну не вдовался я в подробности. Хотя что-то в этом духе на > самом деле и получается. Просто так (умножение в столбик) не получится. Для снижения сложности умножения там применяются хитрые алгоритмы, некоторые из которых я так и не понял.
> Как так можно??? В 10 раз быстрее??? Уууу! Вот так вот. Я тоже в свое время писал библиотеку для работы с числами произвольной длины. 16-битные лимбы, отсутсвие оптимизации. 100000 операций сложения уж не помню какой длины (не маленькой) занимали около 17 секунд (как сейчас помню). Ну а gmp сделал то же самое за полторы секунда. Вот был облом. Это одна из вех, на которых я понял, что доверять библиотекам все таки нужно, а девиз: "Этот код плохой, потому как написан не мной" - чаще всего заблуждение. :-)
> Ну да, кого-то (скорее всего большинство) устроит и то, что > есть в сети. Я даже больше скажу. Лучше - фиг напишешь :-)
|
|
|