One machine word can contain a __SINGLE__ __PRECISION__
__INTEGER__ in the range
[0, 2^{N} - 1].
To represent integers outside of this range, so called
__MULTIPRECISION__ __INTEGER__, we use arrays of *N*-bit words.
To be precise we consider the 2^{N}-ary (or radix 2^{N})
expansion of a nonzero integer:

a = (- 1)^{s} a_{i}2^{Ni} |
(32) |

where

- every
*a*_{i}[0, 2^{N}- 1] is a digit in the 2^{N}-ary expansion of*a*, -
*s*{0, 1} determines the sign of*a*, -
*n*+ 1 [1, 2^{N}] is the number of 2^{N}-digits in the 2^{N}-ary expansion of*a*, -
*a*_{n}0.

- one word for
*s*and - one word for
*n*

- the
__ADDITION__of two integers with at most*n*2^{N}-digits requires (*n*) word operations - the
__MULTIPLICATION__of two integers with at most*n*2^{N}-digits requires (*n*^{2}) word operations.

2003-06-06