Большие числа в Паскале (Дельфи)

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

3 ответа

Решение

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

На SourceForge также есть библиотека Delphi BigInt. Я не пробовал это однако, но включаю для полноты.

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам