Чем отличается real от integer

Чем отличается real от integer

В языке Паскаль определено пять целых типов.

Таблица. Целые типы Pascal

Тип Диапазон допустимых значений Отводимая память, в байтах
shortint -128…127 1
integer -32 768…32 767 2
longint -2 147 483 648…2 147 483 647 4
byte 0…255 1
word 0…65 535 2

Переменные целого типа могут принимать только целые значения. Такие переменные в программе описываются следующим образом:

Здесь a, b, c… — имена переменных, integer – тип переменных. Транслятор, встретив такое описание переменных a, b, c, запоминает, что эти переменные могут принимать только целые значения и формирует соответственно этому команды программы.

Таблица. Операции над целыми типами, дающие в результате значение целого типа

Наиболее важными элементами программы являются переменные. Именно они влияют на ход событий в программе во время ее выполнения. Например, если бы мы не указали значение переменной Name в нашей первой программе, кому было бы адресовано приветствие, выведенное программой?

Переменные могут содержать совершенно различные данные. Например, в одной переменной может храниться чье-то имя, в другой – год рождения, в – третьей – рост и т.д. Такие разные данные и представляются компьютером по-разному. Имя – это строка символов, год рождения – целое число, рост – вещественное число (например, рост равен 1.72 м).

Способ представления данных компьютером определяется их типом. Кроме того, тип данных определяет, какие действия разрешается выполнять над этими данными.

Ниже перечислены основные стандартные типы данных языка Турбо-Паскаль:

  1. INTEGER – целочисленные данные в диапазоне от –32768 до 32767, в памяти занимают два байта;
  2. REAL – вещественные числа в диапазоне от 2.9´10 -39 (2.9E-39) до 1.7´10 38 (1.7E38), занимают шесть байт;
  3. CHAR – отдельный символ, один байт;
  4. STRING – строка символов, количество символов в строке (длина строки) ограничивается числом N в квадратных скобках, занимает N+1 байт (если число N не указано, то максимальная длина строки равна 255 символов);
  5. BOOLEAN – логический тип, имеет два значения: FALSE (ложь) и TRUE (истина), один байт.
Читайте также:  Как заклеить чип на картридже samsung

Заметим, что типы INTEGER, CHAR, и BOOLEAN относятся к порядковым типам (ordinal types).

Как Вы, наверное, помните, при описании переменной после ее имени ставится двоеточие, а затем указывается тип. Если несколько переменных имеют одинаковый тип, их имена можно перечислить через запятую.

Пример описания переменных различных типов:

Integer является стандартным типом данных языка программирования Pascal. Он используется для определения целых чисел, в отличие от типа real, применяющегося для представления вещественных чисел, которые могут содержать десятичную точку и, возможно, экспоненту.

Размер переменных типа integer зависит от размера машинных слов на целевой платформе, для которой компилятор генерирует код (32 bit или 64 bit) и типа компилятора (16-битный, 32-битный или 64-битный). Типичные размеры типа integer

  • 16 бит (2 байта)
  • 32 бита (4 байта) или
  • 64 бита (8 байта)

На текущий момент FPC использует 32 бита (4 байта) для типа integer, независимо от того, является ли архитектура машины 32-битной или 64-битной. Это приведет к тому, что в коде ожидается одинаковый размер типа integer и указателя на него, и на машинах с 64-битной архитектурой, использующих 64-битные указатели, данный код работать не будет. Для того, что бы вы могли писать переносимый код, в модуле System FPC введены типы PtrInt и PtrUInt, являющиеся, соответственно, знаковым и беззнаковым типами данных указателей, имеющие одинаковые размеры с типом integer.

В старых версиях компиляторов тип integer был 16-битным и представлял значения от -2 15 до 2 15 -1 или -32 768 .. 32 767. Аналогичный тип данных word иногда использовался для определения беззнакового целого типа (0..65 535). В таких случаях, где компилятор использовал 16-битный целый тип, 32-битные целые числа обычно выражались с помощью типов данных long или longint.

Читайте также:  Почта россии проверить есть ли письма

Для машин с архитектурой x86 тип integer обычно определяется как 32-битный и включает значения в диапазоне от -2 31 до 2 31 -1 или -2 147 483 648 .. 2 147 483 647. Последнее значение также определено в качестве константы MAXINT. Беззнаковый 32-битный целый тип cardinal имеет значения в диапазоне от 0 до 2 32 -1 или 0 .. 4 294 967 295.

В настоящий момент тип integer зависит только от режима компиляции ( $mode ), поэтому на современных 64-битных процессорах тип integer также 16-битный в режимах TP или FPC либо 32-битный в режимах ObjFPC или Delphi.

Для 64-битных вычислений FPC поддерживает 64-битный тип Int64, который может принимать значения от -2 63 до 2 63 -1 или -9 223 372 036 854 775 808 . 9 223 372 036 854 775 807.

Ссылка на основную публикацию
Хочу создать группу в контакте
Приветствую вас, дорогие читатели. Социальные сети уже давно вошли в нашу жизнь, поэтому всем владельцам абсолютно любого бизнеса, как традиционного,...
Установка mac os transmac
В сети сейчас полно копипастов, по сути одной и той же статьи, про установку MacOS X на хакинтош примерно с...
Установка op com на windows 10
Всем привет! Очень многие вектроводы заказывают с Китая OP-COM и сталкиваются с проблемами установки драйверов самого OP-COM на различных системах...
Хром для андроид тв приставок
Всем привет! Предлагаю очередной раз поднять больную тему браузеров для Android TV. В разделе «вопрос – ответ» уже много раз...
Adblock detector