Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2011, 01:21   #1
щлот
Новичок
Джуниор
 
Регистрация: 27.06.2011
Сообщений: 3
По умолчанию Проблема с BigInt Delphi Library.

Здравствуйте. Либу взял отсюда http://sourceforge.net/projects/bigint-dl/ .
Мой код:
Код:
var i, n, divres, rest: TBigint;
    str: string; one: integer;
begin
readln (str);
CreateBigint (i); 
CreateBigint (n);
CreateBigint (divres); 
CreateBigint (rest);
StrToBigint (str, n);
one := 1;
IntToBigint (one, i);
DivBigint (n, i, divres, rest);
Вводимая строка состоит только из чисел. Вылетает на последней процедуре. Внутри процедуры на строке "mov dword ptr [edi+edx*4], 1" (асм не знаю, привожу на всякий случай). Ошибка: "Access violation at address 00408ACD in module 'x.exe'. Write of address 00DC03F0".
В чем может быть проблема?

Последний раз редактировалось щлот; 27.06.2011 в 01:23.
щлот вне форума Ответить с цитированием
Старый 27.06.2011, 09:32   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

скачал я эту библиотеку...
погонял чуток..
лично у меня сложилось впечатление, что она корявая!
вот, попробуйте, в вашем примере исходное число N ввести 120
или 220 или 2222
всё работает.
пробуешь 99 (или 9 или 5) - всё. кирдык. падает... причём непонятно где и как...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.06.2011, 13:42   #3
щлот
Новичок
Джуниор
 
Регистрация: 27.06.2011
Сообщений: 3
По умолчанию

Там к библиотеке прилагается тестовый модуль, при попытке преобразовать число в BigInt аналогично вылетает на той же строке. Неужто авторы не проверили собственный тестовый модуль?
Печально. А есть какие-нибудь другие оптимизированные либы для работы с длинными числами?
Спасибо за ответ.
щлот вне форума Ответить с цитированием
Старый 27.06.2011, 14:42   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
при попытке преобразовать число в BigInt аналогично вылетает на той же строке. Неужто авторы не проверили собственный тестовый модуль?
я сам в шоке!
Конечно, ничего исключать нельзя, но всё же...
я грешу на то, что они использовали какую-то настройку компиляции, при которой код работал...


ещё посмотрите в ЭТУ тему...

ну и СЮДА
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.06.2011, 16:53   #5
щлот
Новичок
Джуниор
 
Регистрация: 27.06.2011
Сообщений: 3
По умолчанию

Если убрать от одной до восьми двоек из второго числа, то все работает. Если девять, то уже не работает. Мистика.
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ещё посмотрите в ЭТУ тему...

ну и СЮДА
Неохота по кускам собирать. Во всех остальных либах, которые нашел, либо длинное число было массивом целых, либо опять же баги. Поищу еще на си.
Эх, а считает-то быстро, жаль не удается приручить.
щлот вне форума Ответить с цитированием
Старый 02.11.2014, 22:14   #6
PavelAR
Новичок
Джуниор
 
Регистрация: 02.11.2014
Сообщений: 1
По умолчанию

Тема уже наверное давно неактуальна, но я вот недавно скачал эти модули и исправил большую
часть ошибок авторов. Там ошибки в функциях сложения, деления чисел, преобразовании типов.
Лично у меня сложилось впечатление, что специально старую неотлаженную версию выложили.
PavelAR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Fast Artificial Neural Network Library (FANN) и Delphi 2010 stiv73 Компоненты Delphi 13 03.04.2011 22:14
zlib library chuvakner Помощь студентам 2 27.10.2010 23:57
поле типа BigInt + TIBTable SNUPY БД в Delphi 2 04.02.2010 12:30
Позвольте представить - Delphi Widget Library BOBAH13 Компоненты Delphi 13 06.01.2010 12:01
Выложите MSDN library KJIOyH Общие вопросы C/C++ 3 20.10.2007 11:21