Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций для студентов направления 230100 ту...doc
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
7.52 Mб
Скачать

14.1.2Целые типы

Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два, четыре или восемь байтов.

В Таблица 15 .24 приведены характеристики целых типов языка программирования Object Pascal. Они различаются диапазоном допустимых значений и размером занимаемой памяти.

Таблица 15.24 - Целые типы

Название

Диапазон значений

Размер, байт

Byte

0...255

1

ShortInt

-128...+127

1

SmallInt

-32 768...+32 767

2

Word

0...65 535

2

Integer

-2 147 483 648...+2 147 483 647

4

LongInt

-2 147 483 648...+2 147 483 647

4

LongWord

0...4 294 967 295

4

Int64

-9e18...+9e18

8

Cardinal

0...2 147 483 647

4

Примечание: Типы LongWord и Int64 впервые введены в Delphi версии 4, а типы SmallInt и Cardinal отсутствуют в Delphi 1. Тип Integer для Delphi 1 занимает 2 байта и имеет диапазон значений от -32768 до +32767, т.е. совпадает с SmallInt из Delphi 4.

Значения целых типов в программе могут изображаться в десятичном и шестнадцатеричном виде.

При действиях с целыми числами тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам - общему типу, который включает в себя оба операнда. Например, при действиях с ShortInt и Word общим будет тип Integer.

14.1.3Представление знака числа

Многие числовые поля не имеют знака, например, номер абонента, адрес памяти. Некоторые числовые поля предлагаются всегда положительные, например, норма выплаты, день недели, значение числа ПИ. Другие числовые поля являются знаковые, так как их содержимое может быть положительным или отрицательным. Например, алгебраическое число или долговой баланс покупателя, который может быть отрицательным при переплатах.

Для беззнаковых величин все биты являются битами данных и вместо ограничения +32767 переменная может содержать числа до +65535. Для знаковых величин левый (старший) бит является знаковым битом.

Таким образом:

- унарный знак + (плюс), поставленный перед параметром целого или вещественного типа, никак не влияет на его значение.

- унарный знак - (минус), поставленный перед параметром целого или вещественного типа, приводит к изменению знака величины.

В следующем примере сложения двух двоичных чисел, первое число содержит единичный левый бит. Для беззнакового числа биты представляют положительное число 249, для знакового - отрицательное число -7:

Беззнаковое

Знаковое

11111001

249

-7

00000010

2

+2

11111011

251

-5

Двоичное представление результата сложения одинаково для беззнакового и знакового числа. Однако биты представляют +251 для беззнакового числа и -5 для знакового. Таким образом, числовое содержимое поля может интерпретироваться по-разному.