Здравствуйте, Аноним, Вы писали:
А>Операции с длинными числами: А>деление длинных чисел, А>умножение длинных чисел, А>сложение длинных чисел, А>вычитание длинных чисел, А>и так далее ... Есть исходники чтобы научиться?
Что за "длинные числа"? Целые, с плавающей точкой, дроби, ряды? Где конкретика? А то на "операции с конём в вакууме" и отвечать не хочется.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[3]: Операции с длинными числами: деление длинных чисел, у
Здравствуйте, Vain, Вы писали:
V>Здравствуйте, Vain, Вы писали:
А>>>Операции с длинными числами: А>>>деление длинных чисел, А>>>умножение длинных чисел, А>>>сложение длинных чисел, А>>>вычитание длинных чисел, А>>>и так далее ... Есть исходники чтобы научиться? V>>Что за "длинные числа"? Целые, с плавающей точкой, дроби, ряды? Где конкретика? А то на "операции с конём в вакууме" и отвечать не хочется. V>С чем не согласны то? С тем что операции над целыми числами и плавающей точкой по сложности — разные операции?
V>Даже для плавающей точки есть разные алгаритмы: с мантиссой фиксированной длины, с мантиссой заданной длины.
почему "даже"?
с большой вероятностью ему нужны просто длинные целые.
Люди, которые задумались о том что им нужны флоаты повышенной или адаптивной точности, не задают таких вопросов как топикстартер.
Re: Операции с длинными числами: деление длинных чисел, умно
Здравствуйте, Аноним, Вы писали:
А>Операции с длинными числами: А>деление длинных чисел,
Алгоритм Кнута — том 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: Операции с длинными числами: деление длинных чисел, умно
Здравствуйте, Аноним, Вы писали:
А>Операции с длинными числами: А>деление длинных чисел, А>умножение длинных чисел, А>сложение длинных чисел, А>вычитание длинных чисел, А>и так далее ... Есть исходники чтобы научиться?
Чтобы научиться, исходники нужно написать самому.
Re: Операции с длинными числами: деление длинных чисел, умно
Операции с длинными числами: деление длинных чисел, умножени
От:
Аноним
Дата:
18.06.11 08:00
Оценка:
Операции с длинными числами:
деление длинных чисел,
умножение длинных чисел,
сложение длинных чисел,
вычитание длинных чисел,
и так далее ... Есть исходники чтобы научиться?
Re[2]: Операции с длинными числами: деление длинных чисел, у
Здравствуйте, Vain, Вы писали:
А>>Операции с длинными числами: А>>деление длинных чисел, А>>умножение длинных чисел, А>>сложение длинных чисел, А>>вычитание длинных чисел, А>>и так далее ... Есть исходники чтобы научиться? V>Что за "длинные числа"? Целые, с плавающей точкой, дроби, ряды? Где конкретика? А то на "операции с конём в вакууме" и отвечать не хочется.
С чем не согласны то? С тем что операции над целыми числами и плавающей точкой по сложности — разные операции?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[4]: Операции с длинными числами: деление длинных чисел, у
Здравствуйте, 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[6]: Операции с длинными числами: деление длинных чисел, у
Здравствуйте, dilmah, Вы писали:
D>с большой вероятностью ему нужны просто длинные целые. D>Люди, которые задумались о том что им нужны флоаты повышенной или адаптивной точности, не задают таких вопросов как топикстартер.
С выделенным согласен, а вот во второй строке, IMHO, не хватает слова "обычно"
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Операции с длинными числами: деление длинных чисел, умно
Здравствуйте, Аноним, Вы писали:
А>Операции с длинными числами: А>деление длинных чисел, А>умножение длинных чисел, А>сложение длинных чисел, А>вычитание длинных чисел, А>и так далее ... Есть исходники чтобы научиться?
Здравствуйте, Аноним, Вы писали:
А>Операции с длинными числами: А>деление длинных чисел, А>умножение длинных чисел, А>сложение длинных чисел, А>вычитание длинных чисел, А>и так далее ... Есть исходники чтобы научиться?
Делал сам для целых беззнаковых. От GMP отличается тем, что не использует кучу (heap).
Соответственно, копирование длинных чисел идет на порядок быстрее.
На русском есть описание, внутри в архиве.