The representation of big integers used in this section is very inefficient because
only one decimal digit is stored in each Fortran integer array element. It is possible
to store a number as large as possible, but not so large that when two are multiplied, there is overflow. This largest value can be determined portably on any system with the statements
On a typical system that uses 32 bits to store an integer, with 1 bit used for the
sign, the value of the intrinsic inquiry function range(0) is 9 because 109 <>
1010. To ensure that there is no chance of overflow in multiplication, this number is
decreased by one before dividing by two to determine the number of decimal digits d that can be stored in one array element digit of a big integer. In our example,
this would set d to 4. The value of base is then 10**d, or 104 = 10,000. With this
scheme, instead of storing a number from 0 to 9 in one integer array element, it is
possible to store a number from 0 to base 1, which is 9,999 in the example. In effect, the big number system uses base 10,000 instead of base 10 (decimal).
Determine the value of range (0) on your system.