Какие языки программирования поддерживают арифметику произвольной точности? - PullRequest
20 голосов
/ 27 сентября 2008

Какие языки программирования поддерживают арифметику произвольной точности, и не могли бы вы привести краткий пример того, как напечатать произвольное число цифр?

Ответы [ 16 ]

2 голосов
/ 09 января 2017

В R вы можете использовать пакет Rmpfr :

library(Rmpfr)
exp(mpfr(1, 120))
## 1 'mpfr' number of precision  120   bits 
## [1] 2.7182818284590452353602874713526624979

Вы можете найти виньетку здесь: Произвольно точные вычисления с R: Пакет Rmpfr

2 голосов
/ 14 декабря 2012

Существует несколько библиотек Javascript, которые обрабатывают арифметику произвольной точности.
Например, используя мою библиотеку big.js :

Big.DP = 20;                      // Decimal Places
var pi = Big(355).div(113)    

console.log( pi.toString() );    // '3.14159292035398230088'
2 голосов
/ 28 мая 2009

Очевидно, что Tcl также имеет их, начиная с версии 8.5, благодаря LibTomMath:

http://wiki.tcl.tk/5193
http://www.tcl.tk/cgi-bin/tct/tip/237.html
http://math.libtomcrypt.com/
1 голос
/ 31 октября 2018

(бесплатная) базовая программа x11 basic (http://x11 -basic.sourceforge.net / ) имеет произвольную точность для целых чисел. (а также некоторые полезные команды, например nextprime (abcd ... pqrs))

1 голос
/ 27 сентября 2008

Если вы хотите работать в мире .NET, вы все равно можете использовать класс java.math.BigDecimal. Просто добавьте ссылку на vjslib (в платформе), и тогда вы сможете использовать классы java.

Самое замечательное, что они могут использоваться на любом языке .NET. Например в C #:

    using java.math;

    namespace MyNamespace
    {
        class Program
        {
            static void Main(string[] args)
            {
                BigDecimal bd = new BigDecimal("12345678901234567890.1234567890123456789");

                Console.WriteLine(bd.ToString());
            }
        }
    }
1 голос
/ 27 сентября 2008

Java изначально может выполнять bignum-операции с BigDecimal. GMP - стандартная библиотека defacto для bignum с C / C ++.

...