Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
LongMan
Зарегистрирован: 13.03.2005 Сообщения: 4
|
Добавлено: Вс Мар 13 2005 22:10 Заголовок сообщения: алгоритм деления и умножения двух вещественных чисел |
|
|
два числа длиною допустим 150 знаков.
никак не могу представить алгоритм, который вычисляет их произведение и частное.
если еще умножение «столбиком» можно представить, то неужели деление реализовывать уголком?
спасибо. |
|
Вернуться к началу |
|
|
dipsy
Зарегистрирован: 26.01.2005 Сообщения: 424 Откуда: Н. Новгород
|
Добавлено: Вс Мар 13 2005 22:22 Заголовок сообщения: |
|
|
вообще говоря, по крайней мере для умножения, существует алгоритмы умножения больших чисел, отличные от умножения столбиком. Точно не помню, но вроде того: берут число, разбивают пополам (первые 75 знаков, и вторые 75 знаков), потом это дело как-то премножается и складывается. Эта операция получается менее трудоёмкой, чем уможение столбиком, если, конечно, я правильно понял вопрос.
А где у вас встретилась такая задача? |
|
Вернуться к началу |
|
|
LongMan
Зарегистрирован: 13.03.2005 Сообщения: 4
|
Добавлено: Чт Мар 17 2005 20:22 Заголовок сообщения: |
|
|
операции с такими числами - часть моей лабораторной работы.
думаю практическое применение они имеют только в бд, да может еще в громадных вычислениях. но это тоже вряд ли ибо медленно очень.
ваше предложение пока осознать не могу, других не будет? |
|
Вернуться к началу |
|
|
yourik
Зарегистрирован: 24.04.2005 Сообщения: 10
|
Добавлено: Пн Май 02 2005 17:21 Заголовок сообщения: |
|
|
Насколько я понимаю, целочисленное деление можно расписать таким образом:
Сколько раз можно вычсеть делитель из делимого + остаток.
Но надо половить Эксепшоны типа деления на ноль...
Если что не так сказал исправьте самому интересно! |
|
Вернуться к началу |
|
|
dipsy
Зарегистрирован: 26.01.2005 Сообщения: 424 Откуда: Н. Новгород
|
Добавлено: Сб Май 07 2005 15:42 Заголовок сообщения: |
|
|
что-то вспомнилось, что все эти вычисления называются как "длинная арифметика", можно попробовать поискать в инете. Далее, может быть для этих целей использовать уже готовое мат обеспечение, - Maple, например? |
|
Вернуться к началу |
|
|
kolobok0
Зарегистрирован: 22.04.2005 Сообщения: 253 Откуда: Мсква
|
Добавлено: Вт Май 10 2005 08:11 Заголовок сообщения: Про длинные числа... |
|
|
Рекомендую глянуть на BCD кодировку _________________ (круглый) |
|
Вернуться к началу |
|
|
Nkd
Зарегистрирован: 28.04.2005 Сообщения: 11
|
Добавлено: Сб Май 14 2005 20:01 Заголовок сообщения: |
|
|
вообще на www.algolist.ru есть неплохой пример создания библиотеки для работы с большими числами. |
|
Вернуться к началу |
|
|
Timka
Зарегистрирован: 22.08.2005 Сообщения: 4
|
Добавлено: Пн Авг 22 2005 11:18 Заголовок сообщения: |
|
|
Будучи школьником (относительно недавно ) читал в книжке "Хочу все знать - Математика" (полезная книжка ) алгоритм деления, при котором достаточно знать таблицу умножения на 2. Учитывая, что деление на 2 особенно удобно при программировании (сдвиги вправо), могу предложить ознакмиться. |
|
Вернуться к началу |
|
|
lex Pershin
Зарегистрирован: 19.08.2005 Сообщения: 4
|
Добавлено: Пн Авг 29 2005 13:09 Заголовок сообщения: |
|
|
Нужен сам алгоритм или уже работающий модуль? |
|
Вернуться к началу |
|
|
ST1
Зарегистрирован: 17.02.2005 Сообщения: 3
|
Добавлено: Ср Авг 31 2005 18:21 Заголовок сообщения: |
|
|
Вот есть про умножение (CD Мир ПК 12.12.2004): [url]webfile.ru/493118 [/url] |
|
Вернуться к началу |
|
|
_Pioneer_
Зарегистрирован: 27.08.2005 Сообщения: 12
|
Добавлено: Вс Сен 04 2005 18:53 Заголовок сообщения: |
|
|
Для умножения двух длиных чисел можно использовать алгоритм Монтгомери (источники на этом форуме уже упоминались) там оба числа представляются в двоичном виде и используются две операции обычное + (но для длинных) и деление на 2 (сдвиг вправо), про деление сложнее, скорее всего найдете обращение в Zn...
PS вещественные, просто умножаешь на 10 в степени ... чтобы оба целыми были, а потом просто запятую ставишь... |
|
Вернуться к началу |
|
|
|