русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Типи даних і розміри


Дата додавання: 2014-11-28; переглядів: 846.


Існує лише кілька основних типів даних у C:

char один байт, здатний утримувати один знак локального набору символів
int ціле, типово відображає натуральний розмір цілих машини
float одинарної точності число з рухомою точкою
double подвійної точності число з рухомою точкою

На додачу, існує певна кількість класифікаторів, які можна використати стосовно вищевказаних основних типів. Так, short із long застосовуються з цілими:

short int sh;

long int counter;

Слово int можна опустити в таких оголошеннях і, типово, саме так і роблять.

Ідея полягає в тому, що short та long мають забезпечувати різними довжинами цілих, там де це має практичний сенс; int, як правило, буде натуральним розміром цілого для певної машини.short часто має 16-бітну довжину, а int — 16, або 32-бітну. Кожний компілятор може вибрати відповідні розміри для власного устаткування, єдиним обмеженням будучи те, що short та intповинні мати щонайменше 16 біт, long — 32 біти, short не може бути довшим за int, який, в свою чергу — не довшим за long.

Класифікатори signed або unsigned можна застосовувати щодо char або будь-якого цілого. Беззнакові, unsigned, числа завжди додатні або нуль і підлягають правилам арифметичного модуля 2n, де n — це кількість бітів використованого типу. Тож, наприклад, якщо char має довжину 8 бітів, змінні типу unsigned char матимуть значення між 0 та 255, тоді як signed char — між -128 та 127 (в машині з двійковою системою). Чи звичайні char вживаються зі знаком, чи є беззнаковими, залежить від машини, але друковні знаки завжди додатні.

Тип long double вказує на число з рухомою точкою підвищеної точності. Так само, як і у випадку з цілими, розміри об'єктів з рухомою точкою залежать від реалізації; float, double іlong double можуть представляти один, два або три відмінних розміри.

Стандартні файли заголовка <limits.h> і <float.h> містять символічні константи для всіх трьох розмірів, разом із іншими властивостями машини та компілятору. Це все розглянуто уДодатку Б.

Вправа 2-1. Напишіть програму для визначення амплітуд змінних char, short, int і long, як зі знаком, singned, так і беззнакових, unsigned, шляхом виводу відповідних значень з файлів заголовка і шляхом безпосереднього обчислення. Важче, якщо ви обчислите їх. Визначте діапазон різноманітних типів з рухомою точкою.


<== попередня лекція | наступна лекція ==>
Назви змінних | Константи


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн