Понедельник, 29 Апреля 2024, 03.25.40
Приветствую Вас Гость

Всё о Паскале

Меню сайта
реклама
Наш опрос
Каким языком программирования вы владеете ?
Всего ответов: 571
Целый тип Логический Символьный Тип-диапазон Перечисляемый Массивы Записи

Целый тип

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

 
 Название Длина, байт Диапазон значений
 Byte 1 От 0 до 255
 Shortlnt 1 От -128 до +127
 Word 2 От 0 до 65 535
 Integer 3 От -32 768 до +32 767
 Longlnt 4 От -2 1 47 483 648 до +2 1 47 483 647

При использовании процедур и функций с целочисленными параметрами следует руководствоваться "вложенностью" типов, т. е. везде, где может использоваться WORD, допускается использование BYTE (но не наоборот), в LONGINT "входит" INTEGER, который, в свою очередь, включает в себя SHORTINT. Перечень процедур и функций, применимых к целочисленным типам, приведен в таблице. Буквами b, s, w, i, i обозначены выражения соответственно ТИПа BYTE, SHORTINT, WORD, INTEGER И LONGINT, x — Выражение любого тз этих типов; буквы vb, vs, vw, vi, vi, vx обозначают переменные соответствующих типов. В квадратных скобках указывается необязательный параметр.

 
 Обращение Тип результата Действие
 abs (x) х Возвращает модуль х
 chr (b) Char Возвращает символ по его коду
 dec (vx[i]) - Уменьшает значение vx на i, а при отсутствии i — на 1
 inv (vx[i]) - Увеличивает значение vx на i, а при отсутствии i — на 1
 Hi (i) Byte Возвращает старший байт аргумента
 Hi (w) Тоже Тоже
 Lo (i) - Возвращает младший байт аргумента 
 Lo (w) - Тоже
 odd(l) Boolean Возвращает True, если аргумент — нечетное число
 Random (w) Как у параметра Возвращает псевдослучайное число, равномерно распределенное в диапазоне от 0 до (w - 1)
 sqr (x) х Возвращает квадрат аргумента
 swap (i) Integer Меняет местами байты в слове
 swap (w) Word To же

При действиях с целыми числами тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам, — типу того операнда, который имеет максимальную мощность (максимальный диапазон значений). Возможное переполнение результата никак не контролируется, что может привести к недоразумениям, например:
  var
      а : Integer;
      х, у : Real;
  begin
      а := 32767; {Максимально возможное значение типа INTEGER}
      х := а + 2; {Переполнение при вычислении этого выражения!)
      у := Longlnt(а)+2;{Переполнения нет после приведения переменной к более мощному типу}
      WriteLn(x:10:0, у:10:0)
  end.

В результате прогона программы получим
-32767       32769

Форма входа
Календарь новостей
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0