Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта. В таблице
приводятся названия целых типов, длина их внутреннего представления в байтах и диапазон возможных значений.
Название Длина, байт Диапазон значений
Byte 1 От 0 до 255
Shortlnt 1 От -128 до +127
Word 2 От 0 до 65 535
Integer 3 От -32 768 до +32 767
Longlnt 4 От -2 1 47 483 648 до +2 1 47 483 647
При использовании процедур и функций с целочисленными параметрами следует руководствоваться
"вложенностью" типов, т. е. везде, где может использоваться WORD, допускается использование
BYTE (но не наоборот), в LONGINT "входит" INTEGER, который, в свою очередь, включает в себя SHORTINT.
Перечень процедур и функций, применимых к целочисленным типам, приведен в таблице. Буквами b, s, w, i, i обозначены выражения соответственно
ТИПа BYTE, SHORTINT, WORD, INTEGER И LONGINT, x — Выражение любого тз этих типов; буквы vb, vs, vw, vi, vi, vx обозначают
переменные соответствующих типов. В квадратных скобках указывается необязательный параметр.
Обращение Тип результата Действие
abs (x) х Возвращает модуль х
chr (b) Char Возвращает символ по его коду
dec (vx[i]) - Уменьшает значение vx на i, а при отсутствии i — на 1
inv (vx[i]) - Увеличивает значение vx на i, а при отсутствии i — на 1
Hi (i) Byte Возвращает старший байт аргумента
Hi (w) Тоже Тоже
Lo (i) - Возвращает младший байт аргумента
Lo (w) - Тоже
odd(l) Boolean Возвращает True, если аргумент — нечетное число
Random (w) Как у параметра Возвращает псевдослучайное число, равномерно распределенное в диапазоне от 0 до (w - 1)
sqr (x) х Возвращает квадрат аргумента
swap (i) Integer Меняет местами байты в слове
swap (w) Word To же
При действиях с целыми числами тип результата будет соответствовать типу
операндов, а если операнды относятся к различным целым типам, — типу
того операнда, который имеет максимальную мощность (максимальный диапазон значений).
Возможное переполнение результата никак не контролируется, что может привести к недоразумениям, например:
  var
      а : Integer;
      х, у : Real;
  begin
      а := 32767; {Максимально возможное значение типа INTEGER}
      х := а + 2; {Переполнение при вычислении этого выражения!)
      у := Longlnt(а)+2;{Переполнения нет после приведения переменной к более мощному типу}
      WriteLn(x:10:0, у:10:0)
  end.
В результате прогона программы получим
-32767       32769