Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Данные с плавающей точкой




Целые

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

Память в байтах Память в разрядах Диапазон Тип Basic Тип C
    -128 – 127(27-1) sbyte char
    -32768 – 32767(215-1) short shortили int
    -2147483648 – 2147483647(231-1) integer intили long
    -263 – 263-1 long  

Замечание 1. В стандарте языков C и C++ вне зависимости от типа компьютера и операционной системы (ОС) между целыми типами должно выполняться соотношение для их длин:

char <= short <= int <= long

Для ОС Windows и ПК типа IBM PC имеем следующие соотношения:

charà 1 байт, shortà 2 байта, int и longà 4 байта.

Для ОС MS DOS имеем:

charà 1 байт, short и int à 2 байта, longà 4 байта.

Замечание 2. В языках C и C++ для всех целых типов существует модификатор unsigned, в рассматриваемой версии языка Basic типы byte, ushort, uinteger, ulong, которые запрещают соответствующим типам принимать отрицательные значения. При этом изменяется диапазон представления значений.

unsigned char, byte à 0 – 255

unsigned short (или unsigned [int] для ОС MS DOS), ushort à 0 – 65535

unsigned long (или unsigned [int] для ОС Windows), uinteger à 0 - 4294967295

ulong для Basic à 0 – 264-1

В качестве литералов в обоих языках могут употребляться числа в 10-чной, 8-чной и 16-чной системах счисления. Признак 8-чного литерала в языке Basic – префикс &0 (буква "o”), в языке C0 (цифра "0"), 16-ного: Basic -- &h, C0{x|X}.

Пример.

-1 2345 9999999999 à 10

&o7777 à Basic 07777 à C à 8

&hab à Basic 0xab 0Xab à C à 16

Рекомендация. В языке C при работе в разных операционных системах неразумно использовать тип int.

Это семейство типов, значения которых являются вещественными (дробны-ми). Типы различаются диапазоном значений и объемом выделяемой под элемент памяти.

Память в байтах Память в разрядах Диапазон Точность представления (число разрядов мантиссы) Тип Basic Тип C
    |x|<3,4...1038 6-7 single float
    |x|<1,79...10308   double double
    |x|<1,79...10308     long double

Замечание. Типы double и long double в современных версиях языка C не отличаются. Тип long double введен для совместимости со стандартом языка, поэтому его употреблять не рекомендуется.

Литералы имеют 2 формы записи:

- обычную:

[+|-]< целая часть >. < дробная часть >

и экспоненциальную или показательную:

< мантисса >e< степень >,

где мантисса – это целое число или число с плавающей точкой в обычной форме, e означает 10 в степени (регистр не важен), степень – целое число.

Все литералы с плавающей точкой относятся к типу double.

Пример.

-2.3 5e-15 -2.245E12 0.0002.0002Basic –> 0.0002 среда корректирует)

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

Несмотря на различные формы записи литералов (внешнего представления) данные этого типа хранятся в памяти компьютера в форме с плавающей точкой (мантисса, порядок), отсюда и произошло название типа.

Замечание 1. В языке C разделитель между целой и дробной частью числа или мантиссы в виде десятичной точки может отсутствовать только при наличии степени (экспоненты). Если отсутствуют и точка, и степень, это означает литерал целого типа.

Замечание 2. Basic. Весьма важно!!! Во многих странах, в том числе и в нашей, в качестве десятичного разделителя используется символ ", ". Более того, многие программы, например Microsoft Excel, используют в этом качестве установки ОС, которые могут быть изменены. В результате при вводе данных с клавиатуры или выводе их на экран (печать) используются установки ОС, однако при задании литералов в тексте программы необходимо употреблять в качестве разделителя точку. Эти проблемы также возникнут при работе с датами, временем, денежными единицами.




Поделиться с друзьями:


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


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



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




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