Студопедия

КАТЕГОРИИ:


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

Цілочисельні типи даних

Типи short, іnt і long призначені для представлення цілих чисел.

Цілі типи можуть бути знаковими (sіgned) і беззнаковими (unsіgned). В знакових типах самий лівий біт використовується для зберігання знака числа (0 – плюс, 1 – мінус). Решта бітів містять числове значення. В беззнакових типах всі біти використаються для числового значення. За замовчуванням всі цілочисельні типи вважаються знаковими.

Цілі типи розрізняються діапазоном значень, які можуть приймати цілочисельні змінні і розміром області пам'яті, виділеної під цю змінну, а конкретні розміри перерахованих типів залежать від конкретної реалізації. Так, представлення в пам'яті і область значень для типів іnt і unsіgned іnt чітко не визначені в мові С++. За замовчуванням розмір іnt (зі знаком і без знака) відповідає реальному розміру цілого на даній машині. Наприклад, на 16-ти розрядній машині тип іnt завжди займає 16 розрядів або 2 байта. На 32-х розрядній машині тип іnt завжди займає 32 розряди або 4 байта. Таким чином, тип іnt буде еквівалентним типам short іnt або long іnt залежно від реалізації. Аналогічно, тип unsіgned іnt еквівалентний типам unsіgned short або unsіgned long. Перелік типів наведено в Таблиці 2.6.

Оскільки, розміри типів іnt і unsіgned іnt є змінними, то програми, що залежать від специфіки розмірів іnt і unsіgned іnt можуть бути непереносними. Переносимість коду можна поліпшити шляхом включення у вираз sіzeof операції.

Таблиця 4.6

Тип Розмір пам'яті в байтах 16 (32) Діапазон значень
[signed] short [int]   -215 .. 215-1 = -32768.. 32767
unsigned short [int]   0.. 216-1 = 0.. 65535
[signed] int 2 (4) -215 .. 215-1 (-231 .. 231-1)
unsigned [int] 2 (4) 0.. 216-1 (0.. 232-1)
[signed] long [int]   -231 .. 231-1 = -2 147 483 648.. 2 147 483 647
unsigned long [int]   0.. 232-1 = 0.. 4 294 967 295

 

Літерали цілих типів можна записати в десятковому, вісімковому або шістнадцятковому видах, наприклад: 20 (десяткове), 024 (вісімкове), 0х14 (шістнадцяткове). Якщо літерал починається з 0, він трактується як вісімковий, якщо з 0х або 0Х, то як шістнадцятковий. Звичний запис розглядається як десяткове число. За замовчуванням всі цілі літерали мають тип sіgned іnt. Можна явно визначити цілий літерал, що має тип long, приписавши в кінці числа букву L (використається як прописна L, так і рядкова l, однак для зручності читання не слід вживати рядкову: її легко переплутати з 1). Буква U (або u) в кінці числа визначає літерал як unsіgned іnt, а дві букви – UL або LU – як тип unsіgned long. Наприклад: 25u, 1015UL, 2L, 7Lu

Записи вісімкової і шістнадцяткової констант можуть завершуватися буквою L (для вказівки на тип long) і U (якщо потрібно показати, що константа беззнакова). Наприклад, константа 0XFUL має значення 15 і тип unsigned long.

Внутрішнє представлення змінної цілого типу — ціле число у двійковому коді. Згідно формату IEEE всі додатні цілі числа зберігаються в пам'яті комп'ютера в прямому коді, а всі від'ємні – в доповняльному коді. Цілі числа зберігаються в пам'яті комп'ютера у зворотньому порядку розміщення байт числа.

Приклад 3.

Додатнє число 25 типу int в пам'яті комп’ютера зберігається в прямому двійковому коді і займає 4 байти: 0000 0000 0000 0000 0000 0000 0001 1001

В пам’яті комп’ютера цілі числа зберігаються у зворотному порядку розміщення байт числа:

 

0001 10001 0000 0000 0000 0000 0000 0000

 

Результат в 16-ковій системі числення: 19 00 00 00.

Приклад 4.

Від'ємне число -3500 типу long int в пам'яті комп’ютера зберігається в доповняльному двійковому коді і займає 4 байти: - 350010 = - DAC16 = - 1101 1010 11002

 

0000 0000 0000 0000 0000 1101 1010 1100 - прямий код;

1111 1111 1111 1111 1111 0010 0101 0011 - обернений код;

+ 1

1111 1111 1111 1111 1111 0010 0101 0100 - доповняльний код;

F F F F F 2 5 4 - в 16- ковій системі числення

 

В пам’яті комп’ютера зберігається у зворотному порядку розміщення байт числа:

 

0101 0100 1111 0010 1111 1111 1111 1111

 

Результат в 16- ковій системі числення: 54 F2 FF FF.

 

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


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


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



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




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