Проблема с большими целыми числами
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Turbo Pascal 7.0. Free Pascal IDE. Подскажите, как работать с большими целыми числами (больше 14 знаков). longint не хватает.
PS: Решается задача перевода чисел в разные системы счисления. Собственно сделал, но для надо большие числа переводить
PS: Решается задача перевода чисел в разные системы счисления. Собственно сделал, но для надо большие числа переводить
1) Создать свой тип, скажем Int128, разработать функции сложения, вычитания и т.д., в т.ч. вывод на экран.
2) Можно использовать типы с плавающей точкой, вроде Extended (80 bit). Ведь целые числа являются подмножеством действительных, не так ли?
2) Можно использовать типы с плавающей точкой, вроде Extended (80 bit). Ведь целые числа являются подмножеством действительных, не так ли?
It's a long way to the top if you wanna rock'n'roll
Спасибо. Однако:somewhere писал(а):1) Создать свой тип, скажем Int128, разработать функции сложения, вычитания и т.д., в т.ч. вывод на экран.
Спасибо
2) Можно использовать типы с плавающей точкой, вроде Extended (80 bit). Ведь целые числа являются подмножеством действительных, не так ли?
1) Я собственно не такой спец по Паскалю
2) я использую станд функции Mod и др., которые работают только с целыми числами. Конечно можно написать и свои, но см.п.1
Видимо вариантов реализовать это малой кровью нет. Жаль
Тогда юзай юнит для работы с большими числами. Найти можно где угодно. На форуме поищи, подобная тема уже была...
It's a long way to the top if you wanna rock'n'roll
Спасибо. Нашел:somewhere писал(а):Тогда юзай юнит для работы с большими числами. Найти можно где угодно. На форуме поищи, подобная тема уже была...
Не уверен, что меня спасет, но может пригодится другимМодуль SuperLong
Паскалевский модуль SuperLong (Slong.tpu), позволяющий работать с натуральными числами длиной до 7199 цифр. http://vilenin.narod.ru/Progs.htm
В Паскале есть еще такой тип comp.
Он с одной стороны относится к группе 80x87 floating point типов, а с другой стороны целочисленный (т.е. не содержит дробной части). И в хелп-е он описывается в топике Real types.
Диапазон значений:
Он с одной стороны относится к группе 80x87 floating point типов, а с другой стороны целочисленный (т.е. не содержит дробной части). И в хелп-е он описывается в топике Real types.
Диапазон значений:
Код: Выделить всё
Type │ Range │ Digits │ Bytes
comp │ -9.2e18..9.2e18 │ 19-20 │ 8
кажется функцию Mod не поддерживаетBBB писал(а):В Паскале есть еще такой тип comp....
спасибо всем, сделал через extendet, пока хватает