任意精度演算
↑ 英: arbitrary-precision arithmetic
↑ 英: bignum arithmetic
↑ R.K. Pathria 著、A Statistical Study of the Randomness amongst the first 10,000 Digits of Pi、1962年、Mathematics of Computation 誌、第16巻、N77-80、pp 188-97。 「77」という数字の並びが1000桁のブロック内に28回出現することについて「Such an extreme pattern is dangerous even if diluted by one of its neighbouring blocks」と書いている。
↑ GMPY
それぞれMath::BitInt, Math::BitFloatモジュールで実装されている。
Python — 組み込みの int(第3.x版)、long(第2.x版)という整数型が多倍長整数。標準ライブラリには Decimal クラスもあり、桁数を指定可能。
REXX — Open Object Rexx や NetRexx も同様。
Ruby — 組み込みの Bignum という整数型が多倍長整数。標準ライブラリには BigDecimal クラスがあり、桁数を指定可能。
Scheme — 任意精度の整数と有理数をサポート(RRS では推奨、RRS では必須)
Scala — BigInt クラス.
Smalltalk — Squeak などの各種処理系でサポート。
JavaScript ー bigint 型(プリミティブな符号付き整数型)。通常の演算子を併用することで任意精度演算をサポートしている
任意精度演算は多くの場合、専用ライブラリを呼び出すことで実装されている。そのライブラリがデータ型を定義し、数値を指定した精度で格納したり、計算を実行するサブルーチン群を提供している。
ライブラリによって数値の内部表現は異なる。整数のみを扱うライブラリもあるし、各種基数(十進、二進など)で浮動小数点数を格納するもある。分数(有理数)形式で数を格納するものもあれば、実数を全て表現できるとするものもある。