Страница 1 из 1
Проблема с большими целыми числами
Добавлено: 25 сен 2007, 10:39
ichernov
Turbo Pascal 7.0. Free Pascal IDE. Подскажите, как работать с большими целыми числами (больше 14 знаков). longint не хватает.
PS: Решается задача перевода чисел в разные системы счисления. Собственно сделал, но для надо большие числа переводить
Re: Проблема с большими целыми числами
Добавлено: 25 сен 2007, 10:50
somewhere
1) Создать свой тип, скажем Int128, разработать функции сложения, вычитания и т.д., в т.ч. вывод на экран.
2) Можно использовать типы с плавающей точкой, вроде Extended (80 bit). Ведь целые числа являются подмножеством действительных, не так ли?
Re: Проблема с большими целыми числами
Добавлено: 25 сен 2007, 11:25
ichernov
somewhere писал(а):1) Создать свой тип, скажем Int128, разработать функции сложения, вычитания и т.д., в т.ч. вывод на экран.
Спасибо
2) Можно использовать типы с плавающей точкой, вроде Extended (80 bit). Ведь целые числа являются подмножеством действительных, не так ли?
Спасибо. Однако:
1) Я собственно не такой спец по Паскалю
2) я использую станд функции Mod и др., которые работают только с целыми числами. Конечно можно написать и свои, но см.п.1
Видимо вариантов реализовать это малой кровью нет. Жаль
Re: Проблема с большими целыми числами
Добавлено: 25 сен 2007, 11:35
somewhere
Тогда юзай юнит для работы с большими числами. Найти можно где угодно. На форуме поищи, подобная тема уже была...
Re: Проблема с большими целыми числами
Добавлено: 25 сен 2007, 12:04
ichernov
somewhere писал(а):Тогда юзай юнит для работы с большими числами. Найти можно где угодно. На форуме поищи, подобная тема уже была...
Спасибо. Нашел:
Не уверен, что меня спасет, но может пригодится другим
Re: Проблема с большими целыми числами
Добавлено: 25 сен 2007, 12:15
BBB
В Паскале есть еще такой тип
comp.
Он с одной стороны относится к группе 80x87 floating point типов, а с другой стороны целочисленный (т.е. не содержит дробной части). И в хелп-е он описывается в топике
Real types.
Диапазон значений:
Код: Выделить всё
Type │ Range │ Digits │ Bytes
comp │ -9.2e18..9.2e18 │ 19-20 │ 8
Re: Проблема с большими целыми числами
Добавлено: 25 сен 2007, 12:56
ichernov
BBB писал(а):В Паскале есть еще такой тип comp....
кажется функцию
Mod не поддерживает
Re: Проблема с большими целыми числами
Добавлено: 25 сен 2007, 21:45
ichernov
спасибо всем, сделал через extendet, пока хватает