До кінця 2018 року в світі налічується кілька сотень мов програмування, менша частина з них представлена вузькоспеціалізованими мовами, такими як, наприклад, Ada (мова, винайдений ВПС США для управління балістичними ракетами) або Fortran, в основному застосовується в науковій розробці програмного забезпечення. Але більшість з них є загальнодоступним для розуміння та вивчення і знаходять широке застосування.
Типи даних в інформатиці — це структурна і розмірна характеристика виділеної комірки пам’яті, в яку можна помістити деяке значення для подальших операцій. Одним з таких типів є тип integer (int). Це цілочисельний тип даних. Тобто помістити в зарезервовану клітинку типу integer можна тільки ціле число (0, 1, 2, 256, 10000 і так далі).
Діапазон значень, які можна покласти в комірку типу integer, відрізняється в інших мовах програмування і на різних процесорах, наприклад, в мові програмування Pascal становить від -32768 до 32768. Спроба «покласти» дані більше або менше даного діапазону викличе помилку переповнення даних».
Характеристики тип даних integer
В 32-розрядних архітектур займають від -2 147 483 648 (-231) до 2 147 483 647 (231-1)
- Зберігається як ціле число.
- Діапазон різниться від вибору мови програмування та архітектури.
Існують типи integer, без знаків. Наприклад, unsigned int C#. Неправильне використання таких типів даних може призвести до помилок.
Також існують різні варіації типу integer, такі як:
- short int – передбачається з метою скоротити кількість пам’яті, що виділяється під потреби програміста.
- long int – навпаки, створений для тих, хто боїться, що в ході роботи програми є ризик “вилетіти” за межі звичайного int і отримати “помилку переповнення даних”.
Типи integer, real, dint (у мові Pascal) відносяться до математичних типів даних. Це означає, що можливо виробляти математичні дії – додавання, множення, віднімання, ділення.
Характеристики типу integer real
Для запам’ятовування дійсного числа в ОЗП відводиться шість байтів пам’яті, тому розрахунки завжди виконуються з кінцевою точністю, яка залежить від формату. Речові дані зберігаються як ціле число з плаваючою десятковою крапкою.
Інші типи даних в популярних мовах програмування
Char — символьний тип даних може зберігати в собі 1 символ з таблиці символів ASCII. Займає 1 байт і інтерпретується як символ ASCII.
String — рядковий тип даних, зазвичай представлений масивом об’єктів типу char. Зазвичай можливості сучасних мов дозволяють здійснювати найрізноманітніші дії над об’єктами типу string, наприклад конкатенацию (склеювання), видалення рядків, заміну символів в рядку.
Boolean — логічний тип даних. Примітивний тип даних в інформатиці, виражає 2 стану. Дуже корисний, коли в програмі необхідно висловити тільки 2 стану (наприклад, написати функцію, яка б повертала тільки правду чи неправду).
Приведення типів
Мови програмування дозволяють «приводити» типи один до одного. Наприклад, инициализировав змінну типу integer, ми можемо надалі привести її до типу double, тобто дозволити компілятору перезаписати її і поводитися з нею надалі як з числом з плаваючою точкою.
Але не всі типи даних можливо так просто перетворювати. Наприклад, ми ніяк не наведемо string до integer, компілятор просто не зрозуміє наших дій. Також є окремі випадки компіляторів і мов програмування. Наприклад, у мові Pascal можна перетворити тип integer до integer real, тому що тільки тип real підтримує операцію ділення.
В сучасних мовах, таких як C#, немає таких проблем, найчастіше програміст може безболісно перетворити інтуїтивно схожі типи даних, такі як int. double, long int і так далі. Більш того, в динамічно типизируемых мовах навіть можлива ситуація, коли тип даних char приводиться до int!
Це можна тому, що компілятор, замість того, щоб працювати з символом, бере його порядковий номер з таблиці ASCII і вже його використовує для взаємодії з int. У мовах зі строгою типізацією, таких як C або C++#, це, звичайно ж, неможливо.
Це основні типи даних в інформатиці. У сучасних мовах програмування змінні часто являють собою вже не просто виділене місце в оперативній пам’яті, а цілі «об’єкти» або «класи», що значно розширює можливості операцій з ними.
Щоб зрозуміти, як зберігаються такі складні структури, необхідно заглибитися в таку невичерпну тему, як об’єктно-орієнтоване програмування, найбільш сучасний інструмент для створення потужних, розширюваних і підтримуваних роками програм.