Bignum
|
A bignum package in a computer or program allows internal representation of arbitrarily large integers, rational numbers, decimal numbers, or floating-point numbers, and provides a set of arithmetic operations on such numbers. Numbers are typically stored as either one or two lists of digits (or higher-ordered values), encoded in binary. Unlike hardware data types, bignums can vary in size, using dynamically allocated memory.
Bignums were first implemented in MacLisp. Later, the VAX/VMS operating system offered bignum facilities as a collection of string functions. Today, bignum libraries are available for most modern programming languages. The GNU Multi-Precision Library is a free C library that offers bignum features. All computer algebra systems implement bignum facilities.
Bignum systems often employ fast multiplication and division algorithms, and many provide number theoretic primitives such as modular exponentiation.
See also: large numbers.pt:Bignum