Прості типи даних

До простих типів відносяться порядкові і речові типи.

Порядкові типи відрізняться тим, що кожен з них має кінцеве число можливих значень. Ці значення можна певним чином упорядкувати і поставити кожному з них у відповідність деяке число - порядковий номер значення. Порядкові типи поділяються на:

Можливі 5 різних цілих типів, що відрізняються діапазоном можливих значень і довжиною (числом байтів, необхідних для розміщення величини цього типу в пам'яті комп'ютера). Їх характеристики наведені в табл.1.

-2 147 483 648. 2 147 483 647

При використанні процедур і функцій з цілочисельними параметрами слід враховувати "вкладеність" типів, тобто всюди, де використовується тип WORD, допускається використання типу BYTE, але не навпаки. В тип LONGINT входить тип INTEGER, який в свою чергу включає в себе тип SHORTINT. При діях з цілими числами, тип результату буде відповідати типу операндів, а якщо операнди відносяться до різних цілим типами, то типу того операнда, який має максимальний діапазон значень.

Над цілими числами можуть виконуватися операції:

· Целочисленное розподіл (DIV);

· Залишок від цілочисельного ділення (MOD);

· Лівий зрушення (SHL);

· Правий зрушення (SHR).

· Що виключає Або (XOR).

Результатом цілочисельного ділення буде також ціле число, отримане після відкидання дробової частини результату: 11 DIV 3 = 3.

Результатом функції MOD буде ціле число, яке представляє собою залишок від ділення двох операндів: 11 MOD 3 = 2.

Лівий зрушення беззнакового цілого числа А на N еквівалентний множенню числа А на 2 N. Правий зрушення беззнакового цілого числа А на N еквівалентний поділу числа А на 2 N. При розгляді операцій зсуву слід враховувати довжину розрядної сітки для даного типу даних. Операції зсуву зміщують все розряди вліво або вправо. При цьому зайві біти відкидаються, а місця, що звільняються заповнюються нулями.

1110 SHR 2 = 210. так як 000010112 SHR 2 = 000000102

1110 SHL 2 = 4410. так як 000010112 SHL 2 = 001011002.

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

Разом з тим результат операції NOT залежить від типу цілого операнда (довжини розрядної сітки). Якщо ціла змінна A має тип BYTE і дорівнює 11, то функція NOT A дасть результат 244, якщо ця змінна була описана типом WORD, то NOT A = 65524, а для змінної A, описаної типом INTEGER отримаємо NOT A = -12.

Для прикладу розглянемо роботу програми INT_TYPE.PAS.

Символьний тип CHAR використовується для опису символьних змінних. Всього можливо 256 різних символів відповідно до таблиці ASCII - кодів. Задати значення символьної змінної можна декількома способами:

· Вказати сам символ, уклавши його в верхні апострофи: A1. = 'X', де A1 - змінна типу CHAR.

· Вказати його код, наприклад А1. = # 88.

· Використовувати функцію CHR (X), наприклад А1. = CHR (88).

Протилежної по відношенню до функції CHR є функція ORD (X), яка для змінної X типу CHAR видає її ASCII-код.

Існує функція UPCASE, яка перетворює малі літери латинського алфавіту в прописні, але не змінює інші символи, наприклад:

Два символи можна порівнювати за допомогою операцій відносин:

· Менше або дорівнює <=.

· Більше або дорівнює> =.

При порівнянні символьних значень порівнюються їх коди. Наприклад, справедливі співвідношення:

Для прикладу розглянемо роботу програми CHAR_TYP.PAS.

Логічний (логічний) тип BOOLEAN має два можливих значення - "істина" (TRUE) і "брехня" (FALSE). Ці значення вважаються впорядкованими, тобто FALSE

Для прикладу розглянемо роботу програми BOOL_TYP.PAS.

Речові типи використовуються для подання дробових чисел і представляються у вигляді мантиси і порядку:

Використовуються такі речові типи, характеристики яких наведені в табл.2 .:

Тип REAL оптимізований для роботи без співпроцесора. Арифметичний співпроцесор завжди обробляє речові числа в форматі EXTENDED, а речові типи SINGLE і DOUBLE виходять простим урізанням результатів до потрібних розмірів і застосовуються в основному для економії пам'яті. При наявності співпроцесора використання типу REAL призведе до додаткових витрат часу на перетворення типів. Тому в програмах, для яких критично час обчислення, краще замість типу REAL використовувати SINGLE або DOUBLE.

Особливе положення займає тип COMP, який також відносять до речових. Число типу COMP трактується як речовий, хоча воно не має дробової частини, займає в пам'яті 8 байт і має діапазон від -2 63 +1 до +2 63 -1. Найбільш відповідною областю застосування типу COMP є бухгалтерські розрахунки, в яких часто проводяться операції з великими цілими числами.

Для роботи з даними всіх дійсних типів, крім REAL, слід в меню OPTION → COMPILE → NUMERIC PROCESSING встановити режим трансляції 8087/80287.

Над речовими змінними можливі арифметичні операції:

Для прикладу розглянемо роботу програми REAL_TYP.PAS.

Корисний матеріал? Поділися:

Не знайшли те, що шукали? Google вам на допомогу!

Генерація сторінки за: 0.012 сек.

Схожі статті