IPB

> Целочисленные типы
Чат
Форум
Загрузка...
 

Язык:
Русский
English

 Целочисленные типы


В Turbo Pascal предопределено пять целочисленных типов. Каждый тип обозначает подмножество целых чисел:

  Тип       Диапазон               Формат
  ShortInt -128..127               Знаковый 8 бит
  Integer  -32768..32767           Знаковый 16 бит
  LongInt  -2147483648..2147483647 Знаковый 32 бита
  Byte      0..255                 Беззнаковый 8 бит
  Word      0..65535               Беззнаковый 16 бит

Все целочисленные типы являются порядковыми. Максимальным значениям Integer и LongInt соответствуют константы MaxInt и MaxLongInt. Максимальные и минимальные значения других целочисленных типов можно получать, изпользуя функции Low и High.

Ада

  Пакет Interfaces:

В этом пакете объявлены целочисленные типы с диапазонами, не зависимыми от компилятора и операционной среды.

  Тип         Диапазон               Формат
  Integer_8  -128..127               Знаковый 8 бит
  Integer_16 -32768..32767           Знаковый 16 бит
  Integer_32 -2147483648..2147483647 Знаковый 32 бита
  Integer_64 -2**63 .. 2**63 - 1     Знаковый 64 бита
  Unsigned_8  0..255                 Беззнаковый 8 бит
  Unsigned_16 0..65535               Беззнаковый 16 бит
  Unsigned_32 0..4294967296          Беззнаковый 32 бита
  Unsigned_64 0 .. 2**64 - 1         Беззнаковый 64 бита

  Пакет Standard (подключается автоматически):

В этом пакете определены стандартные целочисленные типы. По стандарту, диапазон каждого следующего типа должен быть не уже, чем у предыдущего. Кроме того, на два из этих типов наложены явные минимальные ограничения по битности.

  Тип                 Не уже, чем у...  Обычно является...
  Short_Short_Integer                   Integer_8
  Short_Integer                         Integer_16
  Integer             Integer_16        Integer_32
  Long_Integer        Integer_32        Integer_32
  Long_Long_Integer                     Integer_64

Несмотря на то, что я в правой колонке выписал битность каждого типа, использовать я рекоммендую только Integer и Long_Integer. Для всех остальных битностей предпочтительней типы Integer_x. Компилятор - это как частный сыщик. Чем больше от него недоговорок, тем меньше он будет полезен. Кто знает, какими битностями будут обладать стандартные типы на платформе Win128.

Кроме указанных типов, в Standard есть часто используемые:

 Natural is Integer range 0 .. Integer'Last;
 Positive is Integer range 1 .. Integer'Last;

Система типов языка Ада продумана лучше, чем в Borland Pascal. В Borland Pascal нельзя скомпилировать такую программу:

 program Test_Word;

   var
     I : Word; { из лучших побуждений }

 begin
   for I := 0 to -1 do { Constant out of range }
   begin
   end;
 end.

Индекс -1 - это обычное явление, если работать с массивами, начальный индекс которых 0. Если массив пустой, то верхняя граница цикла for (длина массива минус один) как раз и получается -1. Вместо вызова ошибки этот цикл должен просто ничего не делать. В языке Ада таких проблем не возникнет. Используйте Natural и Positive на здоровье.

См. также

Лекция №2.1: Типы данных и операции

 
 К началу страницы 
 

Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 



-
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"