Number Ranges

The sets of numbers that can be represented in ALGOL are symmetrical with respect to zero; that is, the negative number corresponding to any valid positive number can also be expressed in the language and the object program.

The largest and smallest integers and numbers that can be represented are as follows (decimal versions are approximate):

  • Any integer between plus and minus 549755813887 = 8**13 - 1 = 4"007FFFFFFFFF", inclusive, can be represented in integer form.

  • For single-precision numbers:

    • The largest, positive, normalized, single-precision number that can be represented is 4.31359146674@68 = (8**13 - 1) * 8**63 = 4"1FFFFFFFFFFF".

    • The smallest, positive, normalized, single-precision number that can be represented is 8.75811540204@-47 = 8**(-51) =4"3F9000000000".

  • Zero and numbers with absolute values between the largest and smallest values given above can be represented as single-precision real numbers.

  • Any integer between plus and minus 302231454903657293676543 = 8**26-1, inclusive, can be represented in double integer (DINTEGER) form.

  • For double-precision numbers:

    • The largest, positive, normalized, double-precision number that can be represented is 1.94882838205028079124467@@29603 = (8**13 - 8**(-13)) * 8**32767 = 4"1FFFFFFFFFFFFFFFFFFFFFFF".

    • The smallest, positive, normalized, double-precision number that can be represented is 1.9385458571375858335564@@-29581 = 8**(-32755) = 4"3F9000000000FF8000000000".

  • Zero and numbers with absolute values between the largest and smallest values given above can be represented as double-precision numbers.