Помощь - Поиск - Пользователи - Календарь
Полная версия: "Длинные" числа
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Славик
Здравствуйте!

Нужно чтобы переменная могла содержать "длинное" число.

Например
Код
 
pole:=2132143254354364356546547546765868679;


Но типы "longint", "real" выдают ошибку.

Можно ли это как нибудь реализовать? : ) Но без массивов. И чтобы это было число с которым можно работать математически.
volvo
Славик
Читаем FAQ форума...
Длинная арифметика - вот тут есть 2 примера реализации длинных чисел.

Но оба они используют массивы. Я вообще-то очень сильно сомневаюсь, что можно реализовать это без массивов. blink.gif Информацию-то хранить где-то надо...
Славик
Спасибо за ссылку.

Я предполагал, раз есть возможность сохранять девятизначные числа, значит возможно как то можно сохранять и больше. Возможно это еще не реализовано в паскале.

Но в целом, если буду использовать массивы, то сделаю по другому, поскольку всего описанного там мне ненужно.


Держи игру KubyKvest
Это так, подарок за ответ : )
volvo
Славик Тогда можно пример, где это "Да" реализовано?
Guest
Цитата(volvo @ 4.02.05 16:07)
Славик Тогда можно пример, где это "Да" реализовано?


Значит ли это что нельзя?

Можно ли все описанное в FAQ по ссылке, включить как стандарт паскаля, запускающийся автоматически без вмешательства программиста?

К примеру, пишу
pole:=12354.....
И паскаль автоматически создает с переменной "pole" массив.

P.S. Меня интересуют пока лишь цель - я пишу переменную с числом, и не копаюсь в программах для его сохранения. И обработки.
trminator
Для не слишком длинных чисел (до 2^63 = 9223372036854775808) можно int64 использовать. Там можно не заморачиваться и писать как с обычными целыми числами.

А как ты говоришь - называется перегрузка операторов (типа определю свой тип, потом могу его складывать-вычитать обычными +/-, и все такое). В Паскале это невозможно (хотя... в TMT Pascal вроде можно. Но и то придется изобретать что-то типа pole := '12345' - как строку писать или еще как... Но обычный a + b можно сделать).
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.