Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Работа GMP


Автор: Serg9000 1.7.2011, 20:58
Набросайте плз возведение целого числа в большую степень (очень большую) до 256бит...используя библиотеку gmp в VS C++, а затем сравнить по модулю с числом (остаток от деления)..

Заранее благодарен!

Автор: volatile 2.7.2011, 00:52
Цитата(Serg9000 @  1.7.2011,  20:58 Найти цитируемый пост)
Набросайте плз возведение целого числа в большую степень (очень большую) до 256бит

Боюсь что первая операция не реальна.
Целое число хранится целиком, от первого до последнего бита. А возведение в очень большую степень 256 бит (если я вас правильно понял) не поместится ни в какой памяти. 
например 2**256 ~ 1.16e+77
то есть 1.16e+77 десятичных разрядов. Это больше чем память всех компьютеров на земле.

Цитата(Serg9000 @  1.7.2011,  20:58 Найти цитируемый пост)
а затем сравнить по модулю с числом (остаток от деления)..

а вот сравнить остаток от деления такого числа - это вполне реально. Для этого есть специальные процедуры.
Определитесь что вам нужно. Первое и второе, или только второе.

Вообще есть подозрение что вы делаете очередной велосипед RSA, а для этого есть спец. либы

Автор: volatile 2.7.2011, 02:04
короче, если только второе, то
mpz_powm (); <- это то что вам нужно.
вычисляет остаток от деления (числа возведенного в большую степень) на другое число.


Автор: bsa 3.7.2011, 16:09
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)