Большие числа в Паскале (Дельфи)
Могу ли я работать с большими числами (более 10^400) встроенным методом в Delphi?
3 ответа
Не встроенный, но вы можете проверить MPArith для математики произвольной точности.
На SourceForge также есть библиотека Delphi BigInt. Я не пробовал это однако, но включаю для полноты.
Вы можете реализовать свои собственные процедуры большого числа, используя перегрузку оператора Delphi.
Например, сложение, вычитание, умножение и деление.
Intel также добавила новые инструкции для умножения и, возможно, также для деления в своих последних разработках чипов, которые появятся в ближайшем будущем.
Одна из этих инструкций называется: mulx
Intel упоминает о множественных потоках переноса, которые также позволят ускорить умножение.
В x86 уже было вычитание с заимствованием и добавление с переносом, так что теперь эти новые инструкции делают более или менее то же самое для длинного умножения и деления и т. д. Есть два метода умножения, и при использовании обоих методов это становится возможным.
В будущем Delphi, вероятно, также будет поддерживать эти новые инструкции, что может сделать программирование чем-то вроде этого более интересным.
На данный момент эти 4 основные операции могут привести вас куда-то... или, возможно, в никуда.
Это немного зависит от того, что вы хотите сделать.. что за математика? просто базовая математика, как добавить / sub / mul / div
Или более сложная математика, такая как косинус, синус, загар и все другие математические функции.
Насколько я знаю, перегрузка операторов доступна для записей... Я смутно помню, что она могла бы быть добавлена и в классы, но пока посмотрим на это.
Перегрузка операторов имела обыкновение иметь ошибку при преобразовании между типами... но она была решена в более поздних версиях Delphi, поэтому она должна быть исправлена.