Целые типы
В переменных целых типов информация представляется в виде целых чисел, т.е. чисел не имеющих дробной части. Определенные в Object Pascal целые типы подразделяются на физические (фундаментальные) и логические (общие). При программировании удобнее использовать логические целые типы, которые задают объем переменных в зависимости от типа микропроцессора и операционной среды таким образом, чтобы достигалась максимальная эффективность. Физические целые типы следует применять лишь в тех случаях, когда в первую очередь важны именно диапазон значений и физический объем переменной. В Object Pascal определены следующие целые типы.
Integer
Shortint
Smallint
Longint
Byte
Word
Cardinal
Обратите внимание, что один из этих целых типов назван именно целым (integer). Это может иногда приводить к путанице, но мы легко сможем ее избежать, применяя термин целый к. группе типов, a integer — к конкретному типу, определяемому в программе этим ключевым словом. Переменные физических целых типов имеют разные диапазоны значений в зависимости от того, сколько байтов памяти они занимают (что равно значению, возвращаемому функцией SizeOf для данного типа). Диапазоны значений для всех физических типов перечислены в табл. 1.2.
Таблица 1.2. - Физические целые типы
Тип | Диапазон значении | Физический формат |
Shortint | -128-127 | 8 бит, со знаком |
Smallint | -32 768-32 767 | 16 бит, со знаком |
Longint | -2 147 483 648-2 147 483 647 | 32 бит, со знаком |
Byte | 0-255 | 8 бит, без знака |
Word | 0-65 535 | 16 бит, без знака |
Диапазоны значений и форматы физических целых типов не зависят от микропроцессора и операционной системы, в которых выполняется программа. Они не меняются (или, по крайней мере, не должны меняться) с изменением реализации или версии Object Pascal.
Диапазоны значений логических целых типов (Integer и Cardinal) определяются совершенно иным образом. Как видно из табл. 1.3, они никак не связаны с диапазонами соответствующих физических типов. Обратите внимание, что в Delphi по умолчанию задано 32-разрядное представление.
Таблица 1.3. - Логические целые типы
Тип | Диапазон значений | Физический формат |
Integer | -32 768-32 767 | 16 бит, со знаком (SmalIInt) |
Integer | -2 147 483 648-2 147 483 647 | 32 бит, со знаком (Longint) |
Cardinal | 0-65 535 | 16 бит, без знака (Word) |
Cardinal | 0-2 147483647 | 32 бит, без знака (Longint) |
Совет:
В С и C++ для целых значений определены типы int, short int (или просто short) и long int (или просто long). Тип int из C/C++ соответствует типу Integer из Delphi, a long из C/C++ — Longint из Delphi. Однако Shortint из C/C++ соответствует в Delphi не Shortint, a Smalltlnt. Эквивалент Shortint из Delphi в C/C++— это signed char. Тип unsigned char в C/C++ соответствует типу Byte из Delphi. В C/C++ существует еще тип unsigned long, аналога которому в Delphi нет.
Над целыми данными выполняются все операции, определенные для порядковых типов, но с ними все же удобнее работать как с числами, а не с "нечисленными порядковыми типами". Как и "живые" числа, данные целых типов можно складывать (+), вычитать (-) и умножать (*). Однако некоторые операции и функции, применяемые к данным целых типов, имеют несколько иной смысл.
Операция | Результат |
Abs (X) | Возвращает абсолютное целое значение Х |
Х Div Y | Возвращает целую часть частного деления Х на Y |
Х Mod Y | Возвращает остаток частного деления Х на Y |
Odd (X) | Возвращает булево True (истина), если Х — нечетное целое, и False (ложь) — в противном случае |
Sqr (X) | Возвращает целый квадрат Х (т.е. Х*Х) |
Совет:
Будьте внимательны при перенесении численных выражений из одного языка в другой. В Basic, например,vфункция SQR вычисляет квадратный корень. В C/C++ целое деление обозначается косой чертой (/). В Delphi косая между двумя целыми даст действительный результат с плавающей запятой.
- 7. Что такое электронная таблица?
- Ввод и редактирование данных
- Формат данных
- Функции и формулы
- Понятие формулы
- Понятие функции
- Мастер функций
- [Править]Применение в серверных приложениях
- [Править]Мультиплексирование
- Методы и средства защиты от несанкционированного доступа
- Криптография и шифрование Что такое шифрование
- Основные термины и определения криптографии
- Открытые ключи
- Проблемы использования открытых/закрытых ключей
- Сертификат
- [Править]Центры доверия
- Создание отчётов
- Изменение структуры отчёта
- Создание таблиц в режиме конструктора
- Формирование запросов на выборку
- Параметрические запросы
- Запросы на обновление
- Редактирование запросов
- Поля и записи
- Порядковые типы
- Целые типы
- Символьные типы
- Булевы типы
- Перечислимые типы
- Поддиапазонные типы
- Действительные типы
- [Править]Использование в форматах файлов
- 3.1. Выполнение задания
- 6.2 Построитель выражений
- Создание кнопочной формы с помощью диспетчера кнопочных форм
- Примечания
- Групповые функции в операторе select:
- Раторы сравнения
- Виды отношений
- Отношения в App Engine Один-ко-многим
- Один-к-одному
- Многие-ко-многим
- 2. Свойства алгоритмов.
- Вывод «Основные свойства алгоритмов»:
- 3. Способы описания алгоритмов.
- Тестирование программного обеспечения
- [Править]Уровни тестирования
- [Править]Статическое и динамическое тестирование
- [Править]Регрессионное тестирование
- [Править]Тестовые скрипты
- [Править]Тестирование «белого ящика» и «чёрного ящика»
- [Править]Покрытие кода
- Обеспечение целостности базы данных
- Электронная почта (e-mail)
- Группы новостей
- Службы мгновенных сообщений
- Основы tcp/ip
- Краткое описание протоколов семейства tcp/ip с расшифровкой аббревиатур
- Архитектура tcp/ip
- Уровни сетей и протоколы tcp/ip
- Краткое заключение