![]() |
|
|
![]()
|
|
| kivankov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 30.4.2012 Репутация: нет Всего: нет |
Друзья!
Прошу Вас проконсультировать меня по одному вопросу. Насколько реализуемой, и если реализуемой, то насколько трудоёмкой для исполнения в человеко-днях является создание библиотеки для операций с числами с мантиссой 50 разрядов? Т.е. по сути нужен 50-разрядный калькулятор. Минимальные необходимые действия: сложение, вычитание, умножение, деление, возведение в целочисленную степень (до 5), извлечение квадратного корня. Вопрос не праздный, есть конкретная задача. С уважением, Константин |
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
Трудоёмкой, но реализуемый.
Надо смотреть вот на что. Обязательно надо именно 50 разрядов? Часто проще взять готовые библиотеки с похожим числом разрядов. Есть библиотеки для работы со коль угодно длинными целыми числами. Возможно, и для сколь угодно точных вещественных есть библиотеки. |
|||
|
||||
| kivankov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 30.4.2012 Репутация: нет Всего: нет |
Нет, минимум нужно 45-48 разрядов. 50 - это с запасом.
Если больше - то не помешает. Калькулятор требуется для подтверждения гипотезы о существовании целого числа 4,16... E42 в связи с конкретной задачей. Лишние разряды не повредят. Спасибо за информацию, приму к сведению. А где можно поискать такие библиотеки? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
По-моему, найти библиотеку для работы со сверхдлинными числами, да ещё с таким простейшим набором действий - совершенно не проблема...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
||||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
В конце 80х был такой язык Reduce. Это была первая мне известная компьютерная алгебра. В нем же можно было проводить вычисления с заданным, но ничем не ограниченным, числом знаков. Потом этот язык вошел в Maple, а сейчас, после многий преобразований, его потомство живет в Mathematica от Wolfram Research. Но, честно говоря, не знаю сохранилась ли там до сих пор возможность таких вычислений. В любом случае, стОит попробовать - море времени сэкономится. Это сообщение отредактировал(а) _Y_ - 30.4.2012, 22:01 -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
Историю Вы малость перепутали. Кроме этого, есть и другие системы компьютерной алгебры, и возможность вычислений с произвольной точностью для них - практически обязательный атрибут. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 2 Всего: 85 |
Если только целые числа, то питон поддерживает бесконечную разрядность для целых чисел. можно даже онлайн: http://codepad.org/YFyA3AcS |
|||
|
||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: 2 Всего: 3 |
REXX тоже умеет Для C/C++ давно использую MAPM (ну, так исторически получилось |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Может сейчас Reduce и пакет, но когда я с ним работал был языком. В инструкции было написано Язык Reduce построенный на базе языка RLisp, в свою очередь построенного на базе Lisp (не дословно так как написано было по-английски). Как я понимаю, пакет это дополнение к имеющемуся языку или программе. А Reduce для работы не требовал предварительной установки чего-то еще. Работал я с ним сначала на больших машинах, а потом на чем-то настольном - не помню уже может это была система PDP-11 а может уже и DOS. Были у него лидирующие позиции или нет - не знаю. В то время что в руки попало подходящее с тем и работали. Интернета не было - С информацией слабо было. С Maple я никогда не работал - могу и ошибаться. А вот первая или вторая Mathematica брали мои старые Reduce-программы без необходимости какой-либо переработки. Так что, думаю, это все-таки был Reduce. Про другие системы я не в курсе - не приходилось сталкиваться. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 2 Всего: 85 |
||||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
"Пакет" - это комплекс программ, предназначенный для решения задач из некоторой предметной области. Соответственно, частью пакета может быть интерпретатор некоторого языка. В такой ситуации пакеты и встроенные языки для них действительно часто смешивают. |
|||
|
||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: 2 Всего: 3 |
А какие именно, не помните? Когда? |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 5 Всего: 121 |
В новом наборе инструкций AVX регистры процессора 256разрядные. Это больше 50 значащих знаков. Но я не уверен, что с ними можно работать как с единым числом?
Есть такие интересные пакеты: http://www.advanpix.com/ Где разрядность задаётся явно. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Хорошо, но тогда что, помимо интерпретатора входило в тот архаичный Reduce? -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
||||
|
||||
| volatile |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 2 Всего: 85 |
disputant, мне когда-то (года ~2 назад) для одного проекта нужна была длинная арифметика, и я тестировал несколько разных библиотек. Все протестированные либы сложил в папочку, со своими комментариями. Щас посмотрел в ту папочку. Среди протестированных оказалась и MAPM. Вот мои комментарии того времени. (писал их исключительно для себя)
тестировалась либа в течение нескольких часов, так что глубоко не копал, но этого хватило чтобы отвергнуть ее. |
||||||
|
|||||||
| disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: 2 Всего: 3 |
Спасибо, эти баги (со вводом) остались.
Если бы быть уверенным, что в математике багов нет... с этими-то справиться достаточно легко, все равно у меня своя обертка. А, как вы справедливо заметили, MAPM очень легкая в использовании. На ttmath посмотрел - Open Watcom вообще не компилит, вылетает с run-time ошибкой... :( |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Ничего не понял. А что тогда язык Reduce если не система компьютерной алгебры? -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
||||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Мне кажется, что дискуссия ушла в какие-то семантические дебри. ИМХО если имеем некий продукт и этот продукт имеет всего одну основную функцию, то и категорируется он соответственно этой функции, а не по тому, что там внутри эту функцию обеспечивает. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
Ну как хотите. Ваш подход к именованию не является общепринятым, но, если Вам так удобнее, пожалуйста. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |