Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_лекции.doc
Скачиваний:
45
Добавлен:
25.11.2018
Размер:
5.13 Mб
Скачать

10.1.2. Целые типы

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

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

Таблица 10.1

Целые типы

Название

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

Размер, байт

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.

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

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

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

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

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

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

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

Беззнаковое

Знаковое

11111001

249

-7

00000010

2

+2

11111011

251

-5

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