69737

Області значень

Домашняя работа

Информатика, кибернетика и программирование

Область значень — це інтервал від мінімального до максимального значення, яке може бути представлена в змінній даного типу. В таблиці 1 приведений розмір займаємої пам’яті і області значень змінних для кожного типу. Оскільки змінних типу void не існує, він не включений в цю таблицю.

Украинкский

2014-10-09

44 KB

0 чел.

Самостійне вивчення

Тема 1: Області значень

Область значень—це інтервал від мінімального до максимального значення, яке може бути представлена в змінній даного типу.

В таблиці 1 приведений розмір займаємої пам'яті і області значень змінних для кожного типу. Оскільки змінних типу void не існує, він не включений в цю таблицю.

Таблиця №1

Тип

Представлення в пам’яті

Область значень

char

1  байт

від-128 до 127

int

Залежить від реалізації

short

2 байта

від-32768 до 32767

long

4 байта

від-2.147.483.648 до 2.147.483.647

unsigned char

1  байт

від 0 до 255

unsigned

Залежить від реалізації

unsigned short

2 байта

від 0 до 65535

unsigned long

4 байта

від 0 до 4.294.967.295

Float

4 байта

стандартний формат IEЕЕ

Double

8 байтов

стандартний формат IEEE

long double

10 байтов

стандартний формат IEЕЕ

Тип char може використовуватися для зберігання букви, цифри або іншого символу з безлічі уявних символів. Значенням об'єкту типу char є код, відповідний даному символу. Тип char інтерпретується як однобайтне ціле з областю значень від -128 до 127. Тип unsigned char може містити значення в інтервалі від 0 до 255. Букви російського алфавіту мають коди, які відповідають типу unsigned char.

Слід зазначити, що уявлення в пам'яті і область значень для типів int і unsigned int не визначено в мові Сі. В більшості систем програмування розмір типу int (із знаком або без знака)  відповідає реальному розміру цілого машинного слова. Наприклад, на 16-розрядному комп'ютері тип int займає 16 розрядів, або 2 байти. На 32-разрядному комп'ютері тип int займає 32 розряди, або 4 байти. Таким чином, тип int еквівалентний або типу short int (коротке ціле), або типу long int (довге ціле), залежно від комп'ютера. Аналогічно, тип unsigned int еквівалентний або типу unsigned short int, або типу unsigned long int.

Специфікації типів Int і unsigned int широко використовуються в програмах на Сі, оскільки вони дозволяють найбільш ефективно працювати з цілими значеннями на даному комп'ютері. Проте, оскільки розмір типів int і unsigned int являєеться машинно-залежним, програми, залежні від конкретного розміру типу int або unsigned int на будь-якому комп'ютері, можуть бути непереносимі на інший комп'ютер. Переносимість програм можна підвищити, якщо використовувати для посилання на розмір типу даних операцію sizeof.

Порядок розміщення байтів в пам'яті для базових цілих типів наступний (за збільшенням адрес):

для типу short—b0, b1;

для типу long—b0, b1,b2, b3, де b0—младший байт.

Архітектура процесора Intel 8086/88 дозволяє розміщати змінні різного розміру в пам'яті як з парної, так і з непарної адреси. Проте в останньому випадку звертання до змінних буде більш повільним. В СП ТС існує опція компіляції, яка задає вирівнювання всіх об'ектів, займаючих більше одного байта, на межу парного адреса. Пам'ять при цьому використовується менш эффективно, але швидкість звернення до змінних зросте. В СП MSC за замовчуванням проводиться вирівнювання на межу парної адреси. У версії 5.0 СП MSC існує опція компіляції забезпечуюча вирівнювання на межу, задану програмістом.

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

Допустимо вимагається використовувати у виразі значення -32768 типу short. Константний вираз -32768 складається з арифметичної операції заперечення (-), яка передає значенню константи 32768. Оскільки значення 32768 дуже велике для типу short, компілятор мови Сі представляє його типом long і, отже, константа -32768 матиме тип long. Значення -32768 може бути представлено типом short тільки шляхом явного приведення його до типу short за допомогою виразу (short) (-32768). Інформація при цьому не буде втрачена, оскільки значення -32768 може бути представлено двома байтами пам'яті. Вісімкові і шістнадцяткові константи можуть мати знаковий або беззнаковий тип, залежно від їх значення. Проте метод присвоювання компілятором мови Сі типів вісімковим і шістнадцятковим константам гарантує, що у виразах вони поводитимуться як беззнакові цілі (оскільки їх знаковий біт завжди рівний нулю).

СП ТС дозволяє явно присвоювати константам беззнаковий тип за допомогою суфікса u.

Для представлення значень з плаваючою крапкою використовується стандартний формат IEEE (Institute Electrical and Electronics

Engineers, Inc.). Значення типу float займають 4 байти, що складаються з біта знака 7-бітової двійкової експоненти і 24-бітової мантиси. Мантиса представляє число в інтервалі від 1.0 до 2.0. Оскільки старший біт мантиси завжди рівний одиниці, він не зберігається в пам'яті. Це представлення дає область значень приблизно від 3.4Е-38 до 3.4Е + 38.

Значення типу double займають 8 байтів. Їх формат аналогічен формату float, за винятком того, що експонента займає 11 бітів, а мантиса 52 біти плюс неявний старший біт, одиничний. Це дає область значень приблизно від 1.7Е-308 до 1.7Е + 308.

Значення типу long double займають 80 бітів; їх область значень—від 3.4Е-4932 до 1.1Е + 4932. Формат їх аналогічний формату double, проте мантиса довше на 16 бітів.


 

А также другие работы, которые могут Вас заинтересовать

2025. Адміністративна група 22.29 KB
  Основними в адміністративній групі приміщень є функціональні зони для роботи керівного складу підприємства готельного господарства.
2026. Культурно-масове та спортивне обслуговування 24.25 KB
  На підприємстві готельного господарствах склад приміщень для культурно-масового обслуговування залежить від: категорії, типу, вимог до відпочинку туристів, терміну їх перебування.
2027. Види столового посуду й столових приборів 20.18 KB
  Для нормальної організації роботи підприємств ресторанного господарства необхідні достатня кількість столового посуду, наборів, столової білизни, що втримуються в необхідному асортименті й бездоганному порядку.
2028. Характеристика порцелянового й керамічного посуду 484.42 KB
  Керамічне виробництво виникло задовго до нашої ери в Єгипті, а потім розвивалося в Греції, Італії й інших європейських країнах.
2029. Характеристика кришталевого й скляного посуду 698.09 KB
  Ще за старих часів ознакою особливої культури вважалося частування гостей напоями з келихів і склянок гарної форми. Чимало далеких родичів налічується в сучасних фужерів і чарок: кубки, роги, чари й чарки, келихи, чаші, ковші.
2030. Характеристика металевого посуду 691.16 KB
  З давніх часів для використання в домашніх умовах металевий посуд виготовлявся з міді, а багаті користувалися посудом зі срібла й золота. Однак цей посуд був дорогим й непрактичним для використання в установах харчування.
2031. Характеристика столових приборів 778.44 KB
  Першим прибором, що винайшла людина, був ніж. Ще в кам'яному віці це були пластини з міцного каменю. Наші далекі предки не розрізняли бойові, мисливські та столові ножі. Кожна людина носила свій ніж за поясом і використовувала його для різних цілей.
2032. Пластмасовий столовий посуд 20.42 KB
  Для обслуговування банкетів - прийомів по типу фуршет і коктейль застосовують пластмасові шпажки, вилочки для подачі бутербродів канапе й інших дрібних закусок.
2033. Кейтеринг та його основні характеристики 22.73 KB
  Кейтеринг — дії підприємства ресторанного господарства, що доставляє готові страви, напої, посуд і все необхідне для організації прийому, бенкету і спеціальних заходів.