русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Целые типы данных


Дата добавления: 2014-02-04; просмотров: 738; Нарушение авторских прав


Простые типы данных

Приведение типов

В языке Object Pascal существуют понятия эквивалентности и совместимости типов. Эти понятия необходимы для определения как данные одного типа они могут быть преобразованы в другой тип.

Два типа Т1 и Т2 являются эквивалентными (идентичными), если выполняется одно из двух условий:

- Т1 и Т2 представляют собой одно и то же имя типа;

- тип Т2 описан с использованием типа Т1 с помощью равенства или последовательности равенств. Например:

type

T1 = Integer;

T2 = T1;

T3 = T2;

Типы T1,T2,T3 эквивалентны.

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

Менее строгие ограничения определены совместимостью типов. Например, типы T1 и T2 являются совместимыми, если:

- они эквивалентны;

- являются оба либо целыми, либо действительными;

- T1 - действительный, T2 - целый;

- T1 - интервальный, T2 - его базовый;

- оба интервальные с общим базовым;

- T1 - строковый, T2 – символьный;

- T1 - тип Variant, T2 - целый, вещественный, логический, символьный или строковой;

- T1 - класс, T2 – класс-наследник первого;

- оба указатели одного типа;

- оба процедурные с параметрами и возвращаемым результатом совместимого типа.

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

В Object Pascal ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. При приведении типа возможна потеря части данных.

Для приведения типа используется конструкция

<имя_типа>(<имя_переменной>|<значение>)

Например

integer('A')

представляет собой значение кода символа 'A' – целое число 65 в двухбайтном представлении,



byte(534)

даст значение 22, поскольку целое число 534 имеет тип word и занимает два байта, а тип byte занимает один байт, и в процессе приведения старший байт будет потерян.

 

Целые типы определяют данные, которые реализуются подмножеством целых чисел, допустимых в ЭВМ.

Целые типы в TurboPascal

 

Тип Диапазон значений Требуемая память, байт
Shortint -128 .. 127
Integer -32768 .. 32767
Longint -2147483648 .. 2147483647
Byte 0 .. 255
Word 0 .. 65535

 

Целые типы в ObjectPascal

 

Тип Диапазон Требуемая память,байт
Integer –2147483648..2147483647
Cardinal 0..4294967295
Shortint –128..127
Smallint –32768..32767
Longint –2147483648..2147483647
Int64 –2^63..2^63–1
Byte 0..255
Word 0..65535
Longword 0..4294967295

 

Над целыми операндами можно выполнять следующие арифметические операции: сложение, вычитание, умножение, деление, получение остатка от деления. Знаки этих операций:

+ - * div mod

Результат арифметической операции над целыми операндами есть величина целого типа. Результат выполнения операции деления целых величин есть целая часть частного. Результат выполнения операции получения остатка от деления - остаток от деления целых. Например:

17 div 2 = 8, 3 div 5 = 0.

17 mod 2 = 1, 3 mod 5 = 3.

Операции отношения, примененные к целым операндам, дают результат логического типа TRUE или FALSE ( истина или ложь ).

В языке ObjectPascal имеются следующие операции отношения: равенство =, неравенство <>, больше или равно >=, меньше или равно <=, больше >,меньше <.

К аргументам целого типа применимы следующие стандартные функции, результат выполнения которых имеет целый тип:

Abs(X), Sqr(X), Succ(X), Pred(X),

и которые определяют соответственно абсолютное значение Х, Х в квадрате, Х+1, Х-1.

Следующая группа стандартных функций для аргумента целого типа дает вещественный результат:

Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X).

Эти функции вычисляют синус, косинус и арктангенс угла, заданного в радианах, логарифм натуральный, экспоненту и корень квадратный соответственно.

Результат выполнения функции проверки целой величины на нечетность Odd(X) имеет значение истина, если аргумент нечетный, и значение ложь, если аргумент четный:

X=5 Odd(X)=TRUE , X=4 Odd(X)=FALSE.

Для быстрой работы с целыми числами определены процедуры:

Inc(X) X:=X+1

Inc(X,N) X:=X+N

Dec(X) X:=X-1

Dec(X,N) X:=X-N

 



<== предыдущая лекция | следующая лекция ==>
Тип данных | Вещественные типы данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.144 сек.