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 бітів.


 

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

61770. Работа с тканью. Разметка по шаблону. Игольница в обложке 29.44 KB
  Форма работы: индивидуальная фронтальная; Технология обучения: здоровосберегающая Доминирующая задача: мотивация учебной деятельности и способы постановки учебной задачи; Литература: Конышева Н. Подготовка к уроку 12мин...
61771. Прихватка для горячей посуды. Творческий проект 23.37 KB
  Оборудование: а для учителя: Материалы: учебник готовое изделие лоскутки ткани цветные нитки лист тетрадной бумаги в клетку булавки кусочек мела учебная таблица Раскрой ткани Виды швов панно для демонстрации выполнения шва; Инструменты: ножницы игла. б для учащихся: Материалы: лоскутки ткани цветные нитки; Инструменты: ножницы игла булавки. Сегодня на урок труда вы должны были принести лоскутки ткани цветные нитки булавки иголку и ножницы. Какой материал лучше взять для работы Название хлопчатобумажной ткани произошло...
61772. Конструирование из бумаги. Изготовление новогодней фонарика 21.76 KB
  Цель: углубление и развитие знаний и умений учащихся, связанных с первоначальными приемами обработки бумаги с помощью шаблона, резанием бумаги ножницами; совершенствовать навыки в вырезании по контуру из бумаги, развивать мелкую моторику рук...
61773. Работа с разными материалами. Аппликация из ваты на бархатной бумаге «Верба» 19 KB
  Аппликация из ваты на бархатной бумаге Верба. Сегодня мы будем делать аппликацию Верба. А какой праздник у нас будет перед пасхой в воскресенье 8 апреля Вербное воскресенье А что такое верба кустарник.
61775. Кармашек для мелочей «Слон». Кармашек для мелочей в виде слоненка 17.9 KB
  Цель: сделать кармашек для мелочей который можно повесить например под зеркалом в умывальнике положив туда расчески. Что представляет собой работа слоник с кармашком Какие части есть у нашего слона Кармашек эскиз слона хвост Чем мы соединим кармашек к слону клеем...
61776. Развитие речи. Обучающее сочинение по наблюдениям: Как солнечный Лучик Весну разбудил 22.08 KB
  Весна шла по полям как молодая хозяйка. Весна шла и звон ручьёв с каждым её шагом становился громче и громче†Константин Паустовский. И удивительное время года весна она не оставляет никого равнодушным. Весна воспета в народных песнях в музыке русских композиторов.
61777. Эта Земля была создана для тебя и меня 19.08 KB
  You can see the some interesting facts about world records. Now please read and translate the task. So please answer my questions using these ex.
61778. Великая война - великая победа 23.74 KB
  Цель: познакомить учащихся с главными этапами хода Великой Отечественной войны. Мы не имеем права забыть ужасы этой войны чтобы они не повторились вновь. Начало войны. Окончание войны.