Integer is a class that provides a arbitrary precision integer arithmetic. We can use this
class Integer like a signed built-in type, e.g. int, without length restriction.
We support only one built-in type Digit, because of efficiency and portability. But Digit is
an unsigned built-in type. For that reason we cannot support expressions like a = -1
and C++ translate internally -1 to
, the largest possible unsigned built-in
number.