Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вещественные типы

Вещественные десятичные числа с фиксированной точкой записываются по обычным правилам арифметики. Целая часть от дробной отделяется десятичной точкой. Если десятичная точка отсутствует, число считается целым. Перед числом может находиться знак "+" или "–". Если знак отсутствует, по умолчанию число считается положительным.

Пример.

123.456 – положительное вещественное число

–12.345 – отрицательное вещественное число

Вещественные десятичные числа в форме с плавающей точкой представляются в экспоненциальном виде: mE+p, где m – мантисса (целое или дробное число с десятичной точкой), Е – означает "десять в степени", р – порядок (целое число).

Пример.

1.23Е+02 = 1.23 * 10^2 = 123 –10E–03 = –10 * 10^(–3) = –0.01

Поскольку данные в компьютере хранятся в виде двоичных кодов, то действительные числа представляются приближенно, хотя и с большой степенью точности.

Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и занимают в памяти от 4 до 10 байт. Turbo Pascal и Delphi допускают представление вещественных значений в виде как с плавающей, так и с фиксированной точкой.

Turbo Pascal поддерживает пять различных вещественных типов. Они именуются идентификаторами: Real, Single, Double, Extended и Comp и имеют следующие характеристики:

Тип диапазон значений число цифр мантиссы размер памяти
Real 2.9E–39.. 1.7E38 11 – 12 6 байт
Single 1.5Е–45.. 3.4Е38 7 – 8 4 байт
Double 5.0Е–324.. 1.7Е308 15 – 16 8 байт
Extended 3.4Е–4932.. 1.1Е4932 19 – 20 10 байт
Comp –2Е+63.. +2Е+63–1 10 – 20 8 байт

 

Помни:

· Хотя тип Comp считается вещественным типом, он содержит только целые числа из весьма значительного диапазона, которые представляются в вычислениях как вещественные (с нулевой мантиссой).

· Все вещественные типы, кроме Real, могут использоваться в программе, только если в конфигурации персонального компьютера имеется математический сопроцессор Intel 8087/80287. Для корректной компиляции программы, использующей эти типы, необходимо установить директиву компилятора { $N+ }.

 

Delphi поддерживает семь различных вещественных типов. Они именуются идентификаторами: Real, Real48, Single, Double, Extended и Comp, Currency и имеют следующие характеристики:

 

Тип диапазон значений число цифр мантиссы размер памяти
Real 5.0Е–324.. 1.7Е308 15 – 16 8 байт
Real48 2.9E–39.. 1.7E38 11 – 12 6 байт
Single 1.5Е–45.. 3.4Е38 7 – 8 4 байт
Double 5.0Е–324.. 1.7Е308 15 – 16 8 байт
Extended 3.6Е–4951.. 1.1Е4932 19 – 20 10 байт
Comp –2Е+63.. +2Е+63–1 10 – 20 8 байт
Currency - 922337203685477.5808....922337203685477.5808 19 – 20 8 байт

Наибольшая производительность центрального процессора достигается при использовании типа Real.

Тип Real48 предназначен для только для совместимости с ранними версиями Delphi. При его использовании производительность процессора минимальна.

Тип Extended позволяет производить расчеты с максимальной точностью. Более того, математический сопроцессор выполняет операции с действительными числами, представленными в формате Extended. Если используются типы Real, Single или Double, то результат вычислений усекается до соответствующей точности.

Типы Comp и Currency используются для бухгалтерских расчетов. В типе Comp дробная часть отсутствует, а в типе Currency она ограничена четырьмя знаками. В оперативной памяти ПК значения этих типов представляются как данные целого типа, занимающие 8 байт. Это позволяет минимизировать ошибки округления в денежных расчетах. С другой стороны, значения типов Comp и Currency совместимы со значениями других вещественных типов, т.е. над ними могут выполняться все вещественные операции и им можно присваивать значения переменных и выражений других вещественных типов. Но при этом будет происходить усечение значений до четырех знаков в дробной части для типа Currency и полное отбрасывание дробной части для типа Comp.

Пример.

Var

Summ1: single;

koren: double;

 

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

+ сложение;

вычитание;

* умножение;

/ деление.

Все они дают вещественный результат, если хотя бы один операнд вещественный.

 

Помни:

· Операция возведения в степень в ТР не поддерживается.

 

Литерный (символьный) тип определяется множеством символов кодовой таблицы ЭВМ.

В ТР используется кодовая таблица – ASCII (American Standard Code For Information Interchange – американский стандартный код для обмена информацией), используемая в операционной системе MS DOS. Это множество состоит из 256 различных символов, упорядоченных определенным образом, и содержит символы заглавных и строчных букв, цифр, и различных других символов, включая специальные управляющие символы. Допускаются некоторые отклонения от стандарта ASCII, в частности, при наличии соответствующей системной поддержки это множество может содержать буквы русского алфавита.

Для переменной литерного типа требуется один байт. Литерный тип обозначаются идентификатором Char.

В Delphi имеется три символьных типа:

Тип Размер в байтах
ANSIChar  
WideChar  
Char  

Тип ANSIChar представляет собой так называемые ANSI-символы. Это символы, которые используются в операционных системах семейства Windows. Каждому символу соответствует число – код ANSI (American National Standard Institute – Американский национальный институт стандартизации. В нем был разработан этот код). В таблице кодов содержится 256 символов, которые кодируются числами от 0 до 255. Символы с номерами о 0 до 31 являются управляющими и не имеют графического изображения.

Тип WideChar предназначен для хранения так называемых Unicode-символов, которые в отличие от ANSI-символов занимают в памяти 2 байта, поэтому кодируются числами от 0 до 65535. эти символы используются для представления различных азиатских алфавитов. Первые 256 символов в стандарте Unicode совпадают с символами ANSI.

Тип Char в Delphi эквивалентен типу ANSIChar и обеспечивает наибольшую производительность.

Консольное приложение в Delphi выполняется под управлением операционной системы MS DOS, которая эмулируется операционными системами семейства Windows. В отличие от Windows в MS DOS используется кодировка символов ASCII. Сравнивая таблицы символов ASCII и ANSI, можно заметить, что первые 128 символов с кодами 0..127 совпадают (цифры и латинские буквы), а остальные различны (буквы русского алфавита). Поскольку консольное приложение создаются в операционной системе Windows, а выполняется как программа MS DOS, то вывод на экран русских символов не возможен из-за различия в кодировках. Но, имея таблицы кодировок, можно написать функцию перекодировки символов.

Если символьное значение имеет графическое представление, то оно изображается соответствующим знаком, заключенным в одинарные кавычки (апострофы), например:

'a' 'A' 'H'...

 

Пример.

Var

liter: char;

alfa, znak: char;

 

Булевский (логический) тип в представлен двумя значениями, представляющими логические истинностные значения: (истина/ложь). Эти значения обозначаются с помощью стандартных идентификаторов: True (истина) и False (ложь).

В ТР имеется один логический тип

 

Тип диапазон значений размер памяти
Boolean True, False 1 байт

 

В Delphi имеется 4 логических типа:

 

Тип диапазон значений размер памяти
Boolean True, False 1 байт
ByteBool True, False 1 байт
WordBool True, False 2 байта
LongBool True, False 2 байта

 

Основным логическим типом в Delphi является Boolean. Остальные типы нужны для совместимости с логическими данными, используемыми в ОС Windows и некоторых других системах программирования, например, Visual C. Они используются, как правило, при вызове стандартных подпрограмм, имеющих параметры этого типа.

Над значениями булевского типа допустимы операции сравнения, причем считается, что

True > False.

Кроме того, имеются четыре стандартные логические операции, обозначаемые служебными словами:

and логическое умножение

or логическое сложение

xor сложение по модулю 2 (исключающее "или")

not логическое отрицание (унарная операция).

 

<== предыдущая лекция | следующая лекция ==>
Скалярные типы данных | Пользовательские типы
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 646; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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