Большие числа в Паскале (Дельфы) - PullRequest
14 голосов
/ 28 августа 2010

Можно ли работать с большими числами (более 10 ^ 400) встроенным методом в Delphi?

Ответы [ 3 ]

15 голосов
/ 28 августа 2010

Не встроено, но вы можете проверить MPArith для математики произвольной точности.

3 голосов
/ 29 августа 2010

Существует также библиотека Delphi BigInt на SourceForge .Однако я не пробовал, но для полноты изложения.

0 голосов
/ 07 июня 2014

Вы можете реализовать свои собственные процедуры большого числа, используя перегрузку оператора Delphi.

Например, сложение, вычитание, умножение и деление.

Intel также добавила новые инструкции для умножения и, возможно, также дляразделение в их последней разработке чипов появится в ближайшем будущем.

Одна из этих инструкций называется: mulx

Intel упоминает несколько потоков переноса, которые также позволят ускорить умножение.

x86 уже вычитал с заимствованием и прибавлял с переносом, так что теперь эти новые инструкции делают более или менее то же самое для длинного умножения и деления и т. Д. Есть два метода для умножения и с использованием обоих одновременноэто становится возможным.

В будущем Delphi, вероятно, также поддержит эти новые инструкции, что может сделать программирование чем-то вроде этого очень интересным.

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

Это немного зависит от того, что вы хотите сделать .. что за математика?просто базовая математика, такая как add / sub / mul / div

Или более сложная математика, такая как косинус, синус, загар и все другие математические функции.

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

Перегрузка операторов имела ошибку при преобразовании между типами ..... но это было решено в более поздних версиях Delphi, так что лучше пойти.

...