Misplaced Pages

Bignum

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by Teorth (talk | contribs) at 22:12, 30 October 2004 (link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 22:12, 30 October 2004 by Teorth (talk | contribs) (link)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

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.