Keywords: pame

Subsections

- Exercises

# Integers

Although, strictly speaking, there is no largest positive integer, the largest positive integer which can be manipulated by `a68toc` is 2 147 483 647, and the largest negative integer is -2 147 483 647 (the first is 231 - 1 and the second is -231 + 1). The representation of a value in an Algol 68 program is called a denotation because it denotes the value. It is important to realise that the denotation of a value is not the same as the value itself. To be precise, we say that the denotation of a value represents an instance of that value. For example, three separate instances of the value denoted by the digits `31` occur in this paragraph. All the instances denote the same value.

If you want to write the denotation of an integer in an Algol 68 program, you must use any of the digits `0` to `9`. No signs are allowed. This means that you cannot write denotations for negative integers in Algol 68 (but this is not a problem as you will see). Although you cannot use commas or decimal points, spaces can be inserted anywhere. Here are some examples of denotations of integers separated by commas (the commas are not part of the denotations):

       0 , 3 , 03 , 3000000 , 2 147 483 647

Note that 3 and 03 denote the same value because the leading zero is not significant. However, the zeros in the three million are significant. The mode of each of the five denotations is `INT`. The following are incorrect denotations:

       3,451    -2    1e6

The first contains a comma, the second is a formula, and the third contains the letter `e`. You will see later on that the third expression denotes a number, but by definition this denotation does not have mode `INT`.

## Exercises

1.3
  Write a denotation for thirty-three. Ans
1.4
  What is wrong with the following integer denotations? Ans
  (a)
    `1,234,567`

  (b)
    `5.`

  (c)
    `-4`