Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/114: Рейтинг темы: голосов - 114, средняя оценка - 4.72
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24

Библиотеки для работы с большими числами (длинная арифметика)

21.10.2012, 12:46. Показов 21118. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток)) Сейчас идет курс по криптографии, для которой,как оказалось, нужно подключать дополнительные библиотеки в C++ Builder (т.к. в отличие от Java их там нет )
Может быть кто-то уже пользовался и знает,где качать и как подключать правильно? (желательно библиотеки с генерированием больших простых чисел и теоремой Рабина)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2012, 12:46
Ответы с готовыми решениями:

Длинная арифметика: есть ли в C++ библиотека для работы с длинными числами?
Всем привет! Хотелось бы узнать -- есть ли в С++ библиотека, где реализованы операции над длинными числами?

Библиотеки для работы с большими числами
Доброй ночи! Какие вы могли бы порекомендовать библиотеки для работы с большими числами в языке Python?

Подключение библиотеки для работы с большими числами
Мне дали задание, написать калькулятор для работы с большими числами подключив дополнительные библиотеки. Я вообще без понятия что и как...

37
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.10.2012, 20:37
Да есть такое... https://www.cyberforum.ru/blog... og488.html

gmp- библиотека на Си, к сожалению mpir не удалось прикрутить к Builder-у.

А тут исходник с где с помощью нее реализовывал RSA для шифрования пароля Получить cookies из браузера

Есть еще Arageli, но я им не пользовался.
2
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
21.10.2012, 23:25
Цитата Сообщение от Ksusharik Посмотреть сообщение
нужно подключать дополнительные библиотеки в C++ Builder
а просто int64 не подойдет?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.10.2012, 23:29
а просто int64 не подойдет?
Для чего ? Для вычисления числа с тысячью знаков после запятой? Или для реализации RSA алгоритма ?
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
21.10.2012, 23:41
Цитата Сообщение от Avazart Посмотреть сообщение
Для вычисления числа с тысячью знаков после запятой?
Новерно вопрос не понял... про тысячу знаков вроде нет речи... влюбом случае АЭМСОРИ!
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.10.2012, 23:45
Цитата Сообщение от Samrisbe Посмотреть сообщение
про тысячу знаков вроде нет речи
Может меньше но нужно для -
Цитата Сообщение от Ksusharik Посмотреть сообщение
Сейчас идет курс по криптографии, для которой,как оказалось, нужно подключать дополнительные библиотеки
1
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
22.10.2012, 12:36  [ТС]
Цитата Сообщение от Samrisbe Посмотреть сообщение
а просто int64 не подойдет?
К сожалению,нет)

Спасибо,попробую) Видимо,с NTL никто не сталкивался Оо
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.10.2012, 12:46
Ну как бы слыхали...
Но вроде как gmp быстрее, более того gmp можно вроде подключать к NTL.

Не видел что NTL представляет из себя, но думаю что это dll+h+lib-файлы под VC++ поэтому для прикрутки к Builder возможно пригодится https://www.cyberforum.ru/blog... og478.html
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.10.2012, 21:09
Вообще библиотеку с dll не нашел ...

Нашел исходники http://www.shoup.net/ntl/download.html


Исходники библиотеки скомпилил в статический либ- файл

Провел простой тест вроде работает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream>
 
#include <NTL/ZZ.h>
#pragma comment (lib,"ntl.lib") // Подключаем статическую библиотеку
 
NTL_CLIENT  // не знаю что это такое надо читать документацию
 
#pragma hdrstop
#include <tchar.h>
//---------------------------------------------------------------------------
 
#pragma argsused
 
int _tmain(int argc, _TCHAR* argv[])
{
     ZZ a, b, c;
 
     cin >> a;
     cin >> b;
     c = (a+1)*(b+1);
     cout << c << "\n";
 
    system("pause");
    return 0;
}
//---------------------------------------------------------------------------
Выкладываю все потроха исходники,проект с либ, тест проект.
Для работы программы достаточно ntl.lib( добавить в проект) и папки include( прописать пути в опциях проекта или tools)
Вложения
Тип файла: rar Test WinNTL-5_5_2.rar (4.02 Мб, 367 просмотров)
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.10.2012, 21:14
Проект собран на Builder2009
0
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
28.10.2012, 16:55  [ТС]
Оооу,не ожидала,честно говоря)КОгда сама компилила исходники - ошибки выдавало..Щас проверю, спасибо большое ^^

Добавлено через 7 минут
Эх,нету( не работает..предполагаю,что уже дело в билдере 6(
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2012, 17:04
Эх,нету( не работает..предполагаю,что уже дело в билдере 6(
Ну у меня проект на Builder2009 так что понятно что сам проект не будет работать в Builder6

Возьмите с моего проекта файл ntl.lib и папку "NTL" (которая внутри папки "include") и добавьте их в свой проект на Builder6
0
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
28.10.2012, 21:49  [ТС]
Я взяла,только вот теперь он пишет,что не может найти файл xlocale..что это вообще Оо
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.10.2012, 22:36
Без понятия ... не должно быть такого...

Добавлено через 35 минут
Цитата Сообщение от Ksusharik Посмотреть сообщение
Эх,нету( не работает..предполагаю,что уже дело в билдере 6(
Возможно и в этом.

Тогда надо попробывать собрать статическую либу на Builder6, для этого

1. File->New->Othen-> Static Liborary. Сохраняете Save All в отдельную папку
2. Копируете исходники библиотеки в эту же папку.
3. Добавляете все файлы из папок include/NTL и src в проект библиотеки через Project ->Add To Project, прописываете путь в опциях проекта к папке include.
4. Выбираете в Project Manager(Ctrl+Alt+F11) команду Build, в итоге либа собирается и должен появится lib- файл в папке с проектом.- он то и нужен.

Если выбьет ошибки выкладывайте на форум.
0
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
29.10.2012, 11:46  [ТС]
Сделала,как сказали - в итоге ошибка - "lidrary too large,please restart with library page size 32".
Честно говоря, при создании не было указано, как задавать размер библиотеки Оо
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.10.2012, 13:44
Честно говоря, при создании не было указано, как задавать размер библиотеки Оо
Да и не должно быть... вроде...

Библиотека как мне кажется не такая уж и большая...

Попробуйте открыть Project->Option и там поискать размер библиотеки

Добавлено через 14 минут
To compile the library under C++Builder, create e.g. a Static Library project, add source files to it and compile. If you receive an error during linking saying that [TLib Error] library too large, please restart with library page size 32., increase the Page Size value in the Project Options on the "TLib" page. A value of 128 should be sufficient.
Как я понимаю на закладке TLib.

Там по идее может стоять Page Size= 16 его нужно увеличить.
0
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
31.10.2012, 17:15  [ТС]
К сожалению,такой закладки в моей версии билдера нет((
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.10.2012, 17:17
Ну так поищите среди других.. я наугад сказал ...
(Buiuder6 давно уже не пользуюсь)
0
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
31.10.2012, 19:02  [ТС]
да я понимаю)спасибо)
все перерыла,но видимо не судьба оО
придумаю что-нибудь Оо
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.10.2012, 19:39
Проверьте еще раз, должна быть закладка TLib

Project | Option ( Shift+Ctrl+F11 ) | TLib | Set Library page size = ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2012, 19:39
Помогаю со студенческими работами здесь

Есть ли библиотеки для работы с большими числами
Доброй ночи! Какие вы могли бы порекомендовать библиотеки для работы с большими числами в языке C/C++?

Длинная арифметика: посоветуйте библиотеку для работы со знаковыми числами произвольной длины
Поодскажите какую-нибудь библиотеку, где реализована работа со знаковыми целыми числами произвольной длины.

Библиотеки для работы с очень большими дробными числами
Добрый день, появилась необходимость оперировать дробными (равномерно распределенными) числами. К примеру 125 знаков после запятой. ...

Длинная арифметика. Класс работы с длинными числами.
// модул_умнож.cpp : main project file. #include &quot;stdafx.h&quot; #include &quot;vector&quot; #include &lt;algorithm&gt; #include &quot;stdio.h&quot; #include...

Класс для работы с большими числами
Здравствуйте, кто-нибудь уже писал класс для работы с очень большими числами, с поддержкой операторов +-/*, если да то дайте, пожалуйста,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru