К целочисленным типам в TP относятся следующие предопределенные типы:
Тип
| Диапазон
| Размер (байт)
|
Shortint
| -128..127
| 1 (со знаком)
|
Integer
| -32768..32767
| 2 (со знаком)
|
Longint
| -2147483648..2147483647
| 4 (со знаком)
|
Byte
| 0..255
| 1 (без знака)
|
Word
| 0..65535
| 2 (без знака)
|
Для целочисленных типов применимы все функции, допустимые для ординальных типов – PRED, SUCC, DEC, INC. Определены унарные операции + и - ( сохранить знак числа, изменить знак числа), арифметические бинарные операции сложения (+), вычитания (-), умножения (*), деления нацело (div), взятия остатка при целочисленном делении (mod), деление (/), в результате последней операции получается вещественная величина. Кроме общих функций для ординальных типов данных, для целочисленных типов данных определены следующие:
CHR(X) – возвращает символ (значение типа CHAR), код которого есть целое положительное число X (0 <= X <= 255).
Логическая функция ODD(X) возвращает TRUE, если X – нечетно, в противном случае – FALSE.
ABS(X) - абсолютная величина X.
SQR(X) - квадрат величины X.
В TP для данных типа INTEGER (и совместимых с INTEGER) определены побитовые операции:
· n1 shl n2 - левый логический сдвиг двоичного кода числа n1 на n2 позиций. Слева двоичные разряды пропадают, справа добавляются нули.
· n1 shr n2 - правый логический сдвиг.
· not n – дополнение к двоичному коду целого числа n (цифра 0 заменяется на 1, 1 на 0).
· n1 or n2 – логическое "или".
· n1 and n2 – логическое "и".
· n1 xor n2 – логическое исключающее "или".
В побитовых операциях целые числа обрабатываются как строки двоичных цифр. Примеры использования побитовых операций приведены в таблицах.
Значение X
| Операция
| Результат
| |
Дес
| Шестн
|
| дес
| шестн
| |
| $00000005
| not X
|
| $FFFFFFFA
| |
| $00000005
| X shl 1
|
| $0000000A
| |
| $00000005
| X shr 1
|
| $00000002
| |
Значение X
| Значение Y
| Операция
| Результат
|
Дес
| Шестн
| Дес
| шестн.
|
| дес.
| шестн.
|
| $00000005
|
| $0000000F
| X or Y
|
| $0000000F
|
| $00000005
|
| $0000000F
| X and Y
|
| $00000005
|
| $00000005
|
| $0000000F
| X xor Y
|
| $0000000A
|
| | | | | | | | | | | |