Студопедия

КАТЕГОРИИ:


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

Прості типи

Простими власними типами в C++ є bool, double, int і char. Ці типи мають набір значень і представлення, прив'язані до низькорівневої архітектури машини, на якій працює компілятор. У старих системах C++ немає власного булевого типу. У них використовується нуль для позначення false і ненульові значення — для true.

Прості типи C++ можуть модифікуватися ключовими словами short, long, signed і unsigned для отримання додаткових простих типів. У наступній таблиці приведені ці типи в послідовності від коротких до довших. Тут довжина означає кількість байт, що відводяться для зберігання типу.

Фундаментальні типи даних
bool    
char signed char unsigned char
wchar_t    
short int long
unsigned short unsigned unsigned long
float double long double

Цей список починається з найкоротшого типу bool і закінчується щонайдовшим long double. Існує вимога, згідно з якою кожен довший тип повинен займати при зберіганні не менше місця, чим попередній тип. На більшості машин bool і char зберігаються в одному байті. На багатьох персональних комп'ютерах int займає два байти, тоді як long, float і double вимагають чотири байти для зберігання.

У C++ існує оператор sizeof. Він використовується для визначення кількості байт, необхідного для зберігання конкретного об'єкту або типу.

//Перевіримо!

cout << sizeof(int)<< "<=" << sizeof(long) << endl;

Діапазон цілих значень для цієї системи визначений в стандартному заголовному файлі limits.h. Ось деякі приклади:

#define CHAR_BIT 8 //біт на символ
#define SCHAR_MIN (- 128) //signed char min
#define SCHAR_MAX 127 //signed char max
#define UCHAR_MAX 255 //unsigned char max
#define INT_MAX 2147483647 //int max
#define INT_MIN (- 2147483648) //int min
#define UINT_MAX 429496729U //unsigned int max

Діапазон значень з плаваючою точкою для цієї системи визначений в стандартному заголовному файлі float.h. Ось деякі приклади:

#define FLT_EPSILON ((float) 1.19209290е-07) //single
#define FLT_MIN ((float) 1.17549435e-38) //float min
#define FLT_MAX ((float) 3.40282347e+38) //float max
#define DBL_EPSILON 2. 2204460492503131e-16 //double
#define DBL_MIN 2. 2250738585072014e-308 //double min
#define DBL_MAX 1. 7976931348623157e+308 //double max

У нових системах файл limits містить шаблон numeric_limits, який дозволяє, наприклад, наступний запис:

numeric_limits<type>::max() //максимальне значення для <типу>

 

<== предыдущая лекция | следующая лекция ==>
У файлі gcd.cpp | Ініціалізація
Поделиться с друзьями:


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


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



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




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