Целочисленные типы
В Borland Pascal имеется пять предопределенных целочисленных типов: Shortint (короткое целое), Integer (целое), Longint (длин- ное целое), Byte (длиной в байт) и Word (длиной в слово). Каждый тип обозначает определенное подмножество целых чисел, как это по- казано в следующей таблице.
Предопределенные целочисленные типы Таблица 4.1 ---------------------T--------------------T--------------------- ¦ Тип ¦ Диапазон ¦ Формат ¦ +--------------------+--------------------+---------------------+ ¦ короткое целое ¦ -128 .. 127 ¦ 8 бит со знаком ¦ ¦ (Shortint) ¦ ¦ ¦ +--------------------+--------------------+---------------------+ ¦ целое ¦ -32768 .. 32767 ¦ 16 бит со знаком ¦ ¦ (Integer) ¦ ¦ ¦ +--------------------+--------------------+---------------------+ ¦ длинное целое ¦ -2147483648 .. ¦ 32 бита со знаком ¦ ¦ (Longint) ¦ ..2147483647 ¦ ¦ +--------------------+--------------------+---------------------+ ¦ длиной в байт ¦ 0 .. 255 ¦ 8 бит без знака ¦ ¦ (Byte) ¦ ¦ ¦ +--------------------+--------------------+---------------------+ ¦ длиной в слово ¦ 0 .. 65535 ¦ 16 бит без знака ¦ ¦ (Word) ¦ ¦ ¦ L--------------------+--------------------+----------------------
Арифметические действия над операндами целочисленного типа предполагают 8-битовую, 16-битовую и 32-битовую точность в соот- ветствии со следующими правилами:
- Тип целой константы представляет собой встроенный целочис- ленный тип с наименьшим диапазоном, включающим значение этой целой константы.
- В случае бинарной операции (операции, использующей два операнда), оба операнда преобразуются к их общему типу пе- ред тем, как над ними совершается действие. Общим типом является встроенный целочисленный тип с наименьшим диапа- зоном, включающим все возможные значения обоих типов. Нап- ример, общим типом для целого и целого длиной в байт явля- ется целое, а общим типом для целого и целого длиной в слово является длинное целое. Действие выполняется в соот- ветствии с точностью общего типа и типом результата явля- ется общий тип.
- Выражение справа в операторе присваивания вычисляется не- зависимо от размера или типа переменной слева.
- Любые операнды размером в байт преобразуются к промежуточ- ному операнду размером в слово, который совместим перед выполнением арифметической операции с типами Integer и Word.
Значение одного целочисленного типа может быть явным образом преобразовано к другому целочисленному типу с помощью приведения типов.
Примечание: Приведение типов описывается в Главах 5 и 6.
Формат, выбираемый для представления переменной целого типа, зависит от ее минимальной и максимальной границ:
1. Если обе границы находятся в диапазоне -128..127 (Shotrint - короткое целое), то переменная хранится, как байт со знаком.
2. Если обе границы находятся в диапазоне 0..255 (Byte - байтовая переменная), то переменная хранится, как байт без знака.
3. Если обе границы находятся в диапазоне -32768..32767 (Integer - целое), то переменная хранится, как слово со знаком.
4. Если обе границы находятся в диапазоне 0..65535 (Word - переменная длиной в слово), то переменная хранится, как слово.
5. В противном случае переменная хранится, как двойное сло- во со знаком (Longint - длинное целое).