Студопедия

КАТЕГОРИИ:


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

Целые типы




Символьные типы

Логический тип

Базовые типы данных

Элементарные типы данных, если исключить из них тип void, часто называют арифметическими, поскольку их можно использовать в арифметических операциях. Для их описания определены следующие ключевые слова:

  • bool (логический);
  • char (символьный);
  • wchar_t (широкий символьный);
  • int (целый);
  • float (вещественный);
  • double (вещественный с двойной точностью).

Первые четыре типа называют целыми, последние два – типами с плавающей точкой. Код, который формирует компилятор для обработки целых величин, отличается от кода для величин с плавающей точкой.

 

Существует четыре ключевых слова, уточняющих внутреннее представление и диапазон значений стандартных типов:

  • short (короткий);
  • long (длинный);
  • signed (знаковый);
  • unsigned (беззнаковый).

 

Сочетания перечисленных ключевых слов формируют 14 различных арифметических типов, приведенных на рисунке 1.1. Например, char, signed char и unsigned char – это три равноправных различных типа.

ПРИМЕЧАНИЕ

Во многих других языках символьные типы более четко отделены от арифметических. В С++ символы фактически являются подмножеством целых величин и могут участвовать в арифметических операциях, например: b = a * a + 'a'; По этой причине типы signed char и unsigned char встречаются на рисунке дважды: как символьные и как целые типы. Это соответствует стандарту языка.

 

Величины логического типа могут принимать только значения true и false, являющиеся ключевыми словами. Величины логического типа могут участвовать в арифметических операциях. При преобразовании к целому типу true имеет значение 1, false – нуль. Размер логического типа в стандарте не определен и зависит от реализации.

В стандарте языка определены символьные типы: char, signed char и unsigned char. Внутренним представлением символа является его код – целое число. Под величину любого символьного типа отводится одна единица памяти – байт:

 

sizeof(char) = sizeof(signed char) = sizeof(unsigned char) = 1

 

В языке С++ определено 8 типов для хранения целочисленных величин: четыре знаковых (signed char, short int, int, long int) и четыре беззнаковых (unsigned char, unsigned short int, unsigned int, unsigned long int). По умолчанию все целочисленные типы считаются знаковыми, поэтому спецификатор signed можно не указывать. Ключевое слово unsigned позволяет представлять неотрицательные целые числа.

ПРИМЕЧАНИЕ

Типы short int, long int, signed int и unsigned int можно сокращать до short, long, signed и unsigned соответственно.

Целым константам, встречающимся в программе, по умолчанию приписывается тип signed int. Если он по каким-либо причинам не устраивает программиста, можно явно указать требуемый тип с помощью суффиксов L, l (long) и U, u (unsigned). Например, константа 32L будет иметь тип long и занимать 4 байта. Можно использовать суффиксы L и U одновременно, например, 0x22UL или 05Lu.

Размеры и диапазоны целых типов зависят от реализации. Все, что определяет стандарт по поводу размера этих типов – каждый последующий тип занимает не меньше памяти, чем предыдущий:

 

sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)

 

При этом сказано, что тип int должен иметь естественный размер, обеспечиваемый архитектурой компьютера. Диапазоны значений величин различных типов для IBM PC -совместимых компьютеров приведены в таблице 1.2.

 

Таблица 1.2 – Диапазоны значений основных типов данных для IBM PC
Тип Диапазон значений Размер (байт)
bool true и false  
signed char -128 … 127  
unsigned char 0 … 255  
signed short int -32 768 … 32 767  
unsigned short int 0 … 65 535  
signed int зависит от реализации (в последних компиляторах обычно 4 байта)  
unsigned int  
signed long int -2 147 483 648 … 2 147 483 647  
unsigned long int 0 … 4 294 967 295  
float 3.4e-38 … 3.4e+38  
double 1.7e-308 … 1.7e+308  
long double 3.4e-4932 … 3.4e+4932  

 




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


Дата добавления: 2015-04-30; Просмотров: 599; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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