Операции с длинными числами: деление длинных чисел, умножени
От: Аноним  
Дата: 18.06.11 08:00
Оценка:
Операции с длинными числами:
деление длинных чисел,
умножение длинных чисел,
сложение длинных чисел,
вычитание длинных чисел,
и так далее ... Есть исходники чтобы научиться?
Re: Операции с длинными числами: деление длинных чисел, умно
От: dilmah США  
Дата: 18.06.11 08:06
Оценка: +1
bc, libgmp
Re: Операции с длинными числами: деление длинных чисел, умно
От: Centaur Россия  
Дата: 18.06.11 12:01
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Операции с длинными числами:

А>деление длинных чисел,
А>умножение длинных чисел,
А>сложение длинных чисел,
А>вычитание длинных чисел,
А>и так далее ... Есть исходники чтобы научиться?

Чтобы научиться, исходники нужно написать самому.
Re: Операции с длинными числами: деление длинных чисел, умно
От: Vain Россия google.ru
Дата: 18.06.11 16:02
Оценка: +2 -4
Здравствуйте, Аноним, Вы писали:

А>Операции с длинными числами:

А>деление длинных чисел,
А>умножение длинных чисел,
А>сложение длинных чисел,
А>вычитание длинных чисел,
А>и так далее ... Есть исходники чтобы научиться?
Что за "длинные числа"? Целые, с плавающей точкой, дроби, ряды? Где конкретика? А то на "операции с конём в вакууме" и отвечать не хочется.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: Операции с длинными числами: деление длинных чисел, у
От: Vain Россия google.ru
Дата: 19.06.11 14:29
Оценка:
Здравствуйте, Vain, Вы писали:

А>>Операции с длинными числами:

А>>деление длинных чисел,
А>>умножение длинных чисел,
А>>сложение длинных чисел,
А>>вычитание длинных чисел,
А>>и так далее ... Есть исходники чтобы научиться?
V>Что за "длинные числа"? Целые, с плавающей точкой, дроби, ряды? Где конкретика? А то на "операции с конём в вакууме" и отвечать не хочется.
С чем не согласны то? С тем что операции над целыми числами и плавающей точкой по сложности — разные операции?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[3]: Операции с длинными числами: деление длинных чисел, у
От: Abyx Россия  
Дата: 19.06.11 14:55
Оценка: +3 -2
Здравствуйте, Vain, Вы писали:

V>Здравствуйте, Vain, Вы писали:


А>>>Операции с длинными числами:

А>>>деление длинных чисел,
А>>>умножение длинных чисел,
А>>>сложение длинных чисел,
А>>>вычитание длинных чисел,
А>>>и так далее ... Есть исходники чтобы научиться?
V>>Что за "длинные числа"? Целые, с плавающей точкой, дроби, ряды? Где конкретика? А то на "операции с конём в вакууме" и отвечать не хочется.
V>С чем не согласны то? С тем что операции над целыми числами и плавающей точкой по сложности — разные операции?

с тем что похоже все кроме вас поняли о каких числах речь.
http://google.ru/search?q=длинные+числа
In Zen We Trust
Re[4]: Операции с длинными числами: деление длинных чисел, у
От: Vain Россия google.ru
Дата: 19.06.11 15:43
Оценка:
Здравствуйте, Abyx, Вы писали:

V>>>Что за "длинные числа"? Целые, с плавающей точкой, дроби, ряды? Где конкретика? А то на "операции с конём в вакууме" и отвечать не хочется.

V>>С чем не согласны то? С тем что операции над целыми числами и плавающей точкой по сложности — разные операции?
A>с тем что похоже все кроме вас поняли о каких числах речь.
Все это кто? Телепаты со стажем или те кто отвечает "вслепую"?

A>http://google.ru/search?q=длинные+числа

Даже для плавающей точки есть разные алгаритмы: с мантиссой фиксированной длины, с мантиссой заданной длины. В свою очередь обе ветки могут реализовываться через набор встроенных типов (double/float) (к примеру, QD — BSD License), а могут и "вручную" через raw-набор байт (ARPREC — BSD License или MPFR — LGPLv3 License).
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[5]: Операции с длинными числами: деление длинных чисел, у
От: dilmah США  
Дата: 19.06.11 15:54
Оценка: +3 :)
V>Даже для плавающей точки есть разные алгаритмы: с мантиссой фиксированной длины, с мантиссой заданной длины.

почему "даже"?
с большой вероятностью ему нужны просто длинные целые.
Люди, которые задумались о том что им нужны флоаты повышенной или адаптивной точности, не задают таких вопросов как топикстартер.
Re[6]: Операции с длинными числами: деление длинных чисел, у
От: Erop Россия  
Дата: 20.06.11 08:08
Оценка:
Здравствуйте, dilmah, Вы писали:

D>с большой вероятностью ему нужны просто длинные целые.

D>Люди, которые задумались о том что им нужны флоаты повышенной или адаптивной точности, не задают таких вопросов как топикстартер.
С выделенным согласен, а вот во второй строке, IMHO, не хватает слова "обычно"
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Операции с длинными числами: деление длинных чисел, умно
От: __UNIX_hokum  
Дата: 22.06.11 07:40
Оценка:
А>Операции с длинными числами:... Есть исходники чтобы научиться?

Arageli?
Re: Операции с длинными числами: деление длинных чисел, умно
От: snedelko Украина  
Дата: 22.06.11 10:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Операции с длинными числами:

А>деление длинных чисел,
А>умножение длинных чисел,
А>сложение длинных чисел,
А>вычитание длинных чисел,
А>и так далее ... Есть исходники чтобы научиться?

openssl BIGNUM ?
Re: Операции с длинными числами: деление длинных чисел, умно
От: 0xDEADBEEF Ниоткуда  
Дата: 22.06.11 20:48
Оценка: 13 (2)
Здравствуйте, Аноним, Вы писали:

А>Операции с длинными числами:

А>деление длинных чисел,
Алгоритм Кнута — том 2, 4.3.1, алгоритм D

А>умножение длинных чисел,

"Школьный алгоритм" — умножение в столбик (тоже у Кнута в 4.3.1)
Алгоритм Карацубы-Офмана.
Умножение через преобразование фурье (как приближение к Шенхаге-Штрассену)
Алгоритм Шенхаге-Штрассена (это для упертых, работает примерно с 10000-битных чисел)

А>сложение длинных чисел,

Тривиален. "Школьное" сложение с переносом. (смотри у Кнута в 4.3.1)

А>вычитание длинных чисел,

Тривиален. "Школьное" вычитание с заемом. (смотри у Кнута в 4.3.1)

А>и так далее ... Есть исходники чтобы научиться?

Исходники-то есть и в количестве, но разобраться в них... И чем исходники лучше, тем они волосатее. Наиболее крутая и волосатая библиотека — GMP (гуглим gmplib)
Впрочем, из наиболее читабельных посмотри libtommath — это на Си (гуглим).

Еще, книги, где это описывается более или менее "на пальцах" (гуглим).
— "Handbook of Applied Cryptograpy" — глава 14 (free)
— "High-speed RSA implementation" (free)
— "Cryptograpy in C and C++" by Michael Welschenbach
Увы, все на английском. Увы, про русский не знаю. Знаю другое — на русском по качеству подачи материала нет ничего похожего.
Увы, если хочешь стать программистом, английский должен стать твоим вторым родным языком...
__________
16.There is no cause so right that one cannot find a fool following it.
Re[2]: Операции с длинными числами: деление длинных чисел, у
От: Шебеко Евгений  
Дата: 21.07.11 07:28
Оценка:
D>bc, libgmp
Что такое bc?
Re: Операции с длинными числами: деление длинных чисел, умно
От: pepsicoca  
Дата: 21.07.11 08:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Операции с длинными числами:

А>деление длинных чисел,
А>умножение длинных чисел,
А>сложение длинных чисел,
А>вычитание длинных чисел,
А>и так далее ... Есть исходники чтобы научиться?

Если на русском, то можно поглядеть здесь:

http://sourceforge.net/projects/muntl/
http://sourceforge.net/projects/muntl/files/

Делал сам для целых беззнаковых. От GMP отличается тем, что не использует кучу (heap).
Соответственно, копирование длинных чисел идет на порядок быстрее.
На русском есть описание, внутри в архиве.

Вообще сайт по теме:

http://www.oonumerics.org
http://www.oonumerics.org/oon/

Если на нерусском, то классика жанра это GMP:

http://www.gmplib.org/

Для модера: не работает у вас переход, если ссылку выделить как [url=], приходится писать текстом.
Re[3]: Операции с длинными числами: деление длинных чисел, у
От: dilmah США  
Дата: 21.07.11 08:57
Оценка:
ШЕ>Что такое bc?

bc — arbitrary-precision arithmetic language

$ { seq 1 100 | tr \\n '*'; echo 1; } | bc
93326215443944152681699238856266700490715968264381621468592963895217\
59999322991560894146397615651828625369792082722375825118521091686400\
0000000000000000000000
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.