Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Библиотеки [ править ]

Автономное прикладное программное обеспечение [ править ]

Программное обеспечение, поддерживающее вычисления произвольной точности:

  • Ьс в POSIX произвольной точности арифметических языке , который поставляется со стандартным на большинстве Unix-подобных систем.
    • dc : "Desktop Calculator" RPN-калькулятор произвольной точности, входящий в стандартную комплектацию большинства Unix-подобных систем.
  • KCalc , научный калькулятор на базе Linux
  • Maxima : система компьютерной алгебры, в которой большие целые числа напрямую унаследованы от языка ее реализации Common Lisp . Кроме того, он поддерживает числа с плавающей запятой произвольной точности, bigfloats .
  • Maple , Mathematica и несколько других программ компьютерной алгебры включают арифметику произвольной точности. Mathematica использует GMP для приблизительного вычисления чисел.
  • PARI / GP , система компьютерной алгебры с открытым исходным кодом , поддерживающая произвольную точность.
  • SageMath , система компьютерной алгебры с открытым исходным кодом
  • SymPy , CAS
  • Набор инструментов Symbolic Math ( MATLAB )
  • Калькулятор Windows , начиная с Windows 98, использует произвольную точность для основных операций (сложение, вычитание, умножение, деление) и 32 цифры точности для расширенных операций (квадратный корень, трансцендентные функции).
  • SmartXML , бесплатный язык программирования с интегрированной средой разработки (IDE) для математических вычислений. Можно использовать переменные типа BigNumber или преобразовать обычные числа в большие числа с помощью оператора преобразования # (например, # 2.3 ^ 2000.1). Большие числа SmartXML могут иметь до 100000000 десятичных цифр и до 100000000 целых цифр.

Языки [ править ]

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

  • Agda : BigIntтип данных на бэкэнде Epic реализует арифметику произвольной точности.
  • Common Lisp : Стандарт ANSI Common Lisp поддерживает целые числа произвольной точности, отношения и комплексные числа.
  • C # :, System.Numerics.BigIntegerиз .NET 5
  • ColdFusion : встроенная PrecisionEvaluate()функция динамически оценивает одно или несколько строковых выражений слева направо, используя арифметику точности BigDecimal для вычисления значений арифметических выражений произвольной точности.
  • D : стандартный библиотечный модульstd.bigint
  • Dart : встроенный intтип данных реализует арифметику произвольной точности.
  • Emacs Lisp : поддерживает целые числа произвольного размера, начиная с Emacs 27.1.
  • Erlang : встроенный Integerтип данных реализует арифметику произвольной точности.
  • Go : стандартный пакет библиотеки math/bigреализует целые числа произвольной точности ( Intтип), рациональные числа ( Ratтип) и числа с плавающей запятой ( Floatтип)
  • Коварство : встроенные exactчисла имеют произвольную точность. Пример: (expt 10 100)дает ожидаемый (большой) результат. Точные числа также включают рациональные числа, поэтому (/ 3 4)производит 3/4. Одним из языков, реализованных в Guile, является Scheme .
  • Haskell : встроенный Integerтип данных реализует арифметику произвольной точности, а стандартный Data.Ratioмодуль реализует рациональные числа.
  • Идрис : встроенный Integerтип данных реализует арифметику произвольной точности.
  • ISLISP : Стандарт ISO / IEC 13816: 1997 (E) ISLISP поддерживает целые числа произвольной точности.
  • J : встроенная функция повышенной точности
  • Java : класс java.math.BigInteger(целое число), java.math.BigDecimalкласс (десятичный)
  • JavaScript : с ES2020 BigInt поддерживается в большинстве браузеров; [1] GWT-математическая библиотека обеспечивает интерфейс java.math.BigDecimal, а также библиотеки , такие как DecimalJS , BigInt и хруст поддержки произвольной точности целых чисел.
  • Джулия : встроенная BigFloatи BigIntтипы обеспечивают произвольную точность с плавающей точкой и целочисленной арифметикой соответственно.
  • newRPL : целые числа и числа с плавающей запятой могут иметь произвольную точность (не менее 2000 цифр); максимальное количество настраиваемых цифр (по умолчанию 32 цифры)
  • Ним : bigints и множественные привязки GMP .
  • OCaml : библиотека Num поддерживает целые и рациональные числа произвольной точности.
  • OpenLisp : поддерживает целые числа произвольной точности.
  • Perl : bignumи bigratпсевдокомментарии обеспечивают BigNum и BigRational поддержку Perl.
  • PHP : модуль BC Math обеспечивает математику произвольной точности.
  • PicoLisp : поддерживает целые числа произвольной точности.
  • Пайк : встроенный intтип незаметно изменится с машинного целого числа на произвольную точность, как только значение превысит возможности первого.
  • Пролог : совместимые со стандартом ISO системы Пролога могут проверять флаг Пролога как «ограниченный». Большинство основных систем Prolog поддерживают целые числа произвольной точности.
  • Python : встроенный целочисленный тип int(3.x) / long(2.x) имеет произвольную точность. DecimalКласс в стандартной библиотеке модуля десятичного имеет определяемый пользователь точность и ограниченные математические операции (возведение в степень, квадратный корень и т.д. , но не тригонометрические функций). FractionКласс в модуле фракциях реализует рациональные числа. Более обширная арифметика произвольной точности с плавающей запятой доступна в сторонних пакетах "mpmath" и "bigfloat".
  • Ракетка : встроенные exactчисла имеют произвольную точность. Пример: (expt 10 100)дает ожидаемый (большой) результат. Точные числа также включают рациональные числа, поэтому (/ 3 4)производит 3/4. Числа произвольной точности с плавающей запятой включены в стандартный библиотечный модуль math / bigfloat .
  • Раку : Rakudo поддерживает Intи FatRatтипы данных , которые способствуют к произвольной точности целых и рациональных чисел.
  • Rexx : варианты, включая Open Object Rexx и NetRexx
  • RPL (только для серии HP 49/50 в точном режиме ): калькулятор обрабатывает числа, введенные без десятичной точки, как целые, а не как числа с плавающей запятой; целые числа имеют произвольную точность, ограниченную только доступной памятью.
  • Ruby : встроенный Bignumцелочисленный тип произвольной точности. BigDecimalКласс в стандартной библиотеке модуля BigDecimal имеет определяемых пользователем точность.
  • Схема : R 5 RS поощряет, а R 6 RS требует, чтобы точные целые числа и точные рациональные числа имели произвольную точность.
  • Scala : Class BigIntи Class BigDecimal.
  • Seed7 : bigIntegerи bigRational.
  • Self : целые числа произвольной точности поддерживаются встроенным bigIntтипом.
  • Smalltalk : варианты, включая Squeak , Smalltalk / X , GNU Smalltalk , Dolphin Smalltalk и т. Д.
  • SmartXML , бесплатный язык программирования с интегрированной средой разработки (IDE) для математических вычислений. BigNumberМогут использоваться переменные типа или обычные числа могут быть преобразованы в большие числа с помощью оператора преобразования #(например, #2.3^2000.1). Большие числа SmartXML могут иметь до 100000000 десятичных цифр и до 100000000 целых цифр.
  • Стандартный ML : дополнительная встроенная IntInfструктура реализует подпись INTEGER и поддерживает целые числа произвольной точности.
  • Tcl : Начиная с версии 8.5 (2007), по умолчанию целые числа имеют произвольную точность. (За кулисами язык переключается на использование внутреннего представления произвольной точности для целых чисел, слишком больших, чтобы поместиться в машинное слово. Привязки из C должны использовать библиотечные функции, такие как Tcl_GetLongFromObjполучение значений в виде типов данных C-native из целых чисел Tcl.)
  • Wolfram Language , как и Mathematica , использует GMP для приблизительного вычисления чисел.

Онлайн калькуляторы [ править ]

Для разовых расчетов. Работает на сервере или в браузере. Не требует установки или компиляции.

  • https://apfloat.appspot.com/ произвольно (как ввод)
  • https://www.mathsisfun.com/calculator-precision.html 200 мест
  • http://birrell.org/andrew/ratcalc/ произвольно; выберите рациональную или фиксированную точку и количество мест
  1. ^ "BigInt" . Могу я использовать . Проверено 16 марта 2021 .