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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2013, 19:28   #1
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию Вычисления с огромными числами.

Мне интересно, а как производить вычисления в Делфи с огромными числами, которые выходят за пределы возможностей числовых типов данных? Например, как посчитать вознаграждение создателю шахмат в зёрнах? Делфи смог только до 30-й клетки посчитать, потом здох.
Andrej_K вне форума Ответить с цитированием
Старый 30.12.2013, 19:34   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

2^32 - 1 = 4294967295 - это как раз max у типа Cardinal (типи Integer, только беззнаковый ). Или LongWord .
А можно и вещественные использовать. Double, например дает 15..16 точных значащих цифр.
type_Oleg на форуме Ответить с цитированием
Старый 30.12.2013, 19:34   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

И дельфи посчитает, только нужно не цифровыми типами, а длинную арифметику реализовывать. Если коротко - все в строках или байтовых массивах и программирование арифметических операций так, как на листочке бумаге в столбик считаете
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.12.2013, 19:46   #4
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
И дельфи посчитает, только нужно не цифровыми типами, а длинную арифметику реализовывать. Если коротко - все в строках или байтовых массивах и программирование арифметических операций так, как на листочке бумаге в столбик считаете
А можно пример, если можно)?
Andrej_K вне форума Ответить с цитированием
Старый 30.12.2013, 20:01   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Ну предсавьте двузначное число 57, в виде записи
Код:
type Num2=record
 high,low:Byte;
end;
var a:Num2;
begin
 a.high:=5;
 a.low:=7;
// ...
Можно создать функции для арифметических операций с этими записями.

Наверное, уже где-то реализовано, для нормальных, то есть двоичных чисел.
type_Oleg на форуме Ответить с цитированием
Старый 30.12.2013, 20:02   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

https://www.google.com.ua/search?q=%...8C%D1%84%D0%B8
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.12.2013, 23:11   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Andrej_K Посмотреть сообщение
А можно пример, если можно)?
Вычисление ОГРОМНЫХ факториалов на Паскале
в реализации от (с) Mad_Cat - тут
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу вычисления площади многоугольника используя формулу для вычисления площади треугольника в качестве подпрограммы сердце Паскаль, Turbo Pascal, PascalABC.NET 0 24.12.2012 18:21
Работа с числами в Си IKom Помощь студентам 10 07.10.2012 15:08
Задачи с числами Alexxx92 Помощь студентам 4 26.04.2011 05:42
Программа вычисления нулей функции с комплексными числами! denismax Фриланс 3 04.04.2011 11:33
Работа с числами Drain Общие вопросы Delphi 10 11.02.2008 16:35