Тип даних (англ. data type) — характеристики, яку явно чи неявно надано об'єкту (змінній, функції, полю запису, константі, масиву тощо). Тип даних визначає множину припустимих значень, формат їхнього збереження, розмір виділеної пам'яті та набір операцій, які можна робити над даними.
Машинні типи даних
У всіх комп'ютерах, заснованих на цифровій електроніці, інформація на найнижчому рівні представляється у вигляді бітів (зі значенням 0 або 1). Найменша адресована одиниця інформації називається байт (зазвичай як октет, який містить 8 бітів). Одиниця інформації, яка оброблюється інструкціями машинного коду, називається словом (станом на 2006 рік, зазвичай по 32 або 64 біти). Більшість інструкцій сприймають слово як двійкове число, щоб 32-бітне слово могло бути представлене беззнаковим цілим числом від 0 до 232–1, або знакове ціле від –231 до 231–1. Завдяки наявності доповняльного коду, у багатьох випадках машині не потрібно по різному оброблювати знакові та беззнакові числа.
Існує спеціальний набір арифметичних інструкцій, які використовують різні представлення бітів у слова, для операцій з рухомою комою.
Прості типи даних
Мови програмування представляють деякі прості типи даних (або примітивні), як базові блоки для програм та спеціалізованіших складених типів даних. Зазвичай прості типи даних включають числові (кілька цілих та дійсних типів), логічний (булевий), символьний та байтовий.
Числові типи даних
Цілі числа
Цілочисельний тип даних (англ. integer) не може зберігати дробову частину числа. Для від'ємного числа треба ставити знак мінус (-
) перед значенням (числом). Не можна використовувати кому у введені такого числа, бо інакше буде викликана синтаксична помилка. Приклади цілих чисел:
- 42
- 10000
- −233000
- −100
Дійсні числа
Дійсні числа можуть містити в собі як цілі, так і дробові значення з крапкою відокремлення від цілої частини. Для від'ємного числа треба ставити знак мінус (-
) перед значенням (числом). Приклади дійсних чисел (запис у американській нотації, де десятковим розділювачем слугує крапка):
- 20.0005
- 99.9
- −5000.12
- −9999.9991
Діапазони числових типів даних
Кожний числовий тип даних має мінімальне та максимальне значення, яке називають діапазон значень. Важливо знати діапазон значень, особливо, коли працюєте з «маленькими» типами даних, оскільки в них можна зберігати лише значення у вузькому діапазоні. Спроба внести число, більше за доступний діапазон може призвести до помилок періоду компіляції/виконання, або до неправильних підрахунків (через відкидання) залежно від використовуваної мови програмування.
Діапазон змінних оснований на кількості байтів відведених для збереження значення. Цілі типи даних розрядністю бітів зазвичай здатні зберігати значень. Для інших типів даних (напр. дійсних чисел) діапазон заплутаніший, та залежить від методу зберігання інформації в ньому. Існують також типи даних, які не використовують увесь байт. Наприклад, для булевого типу, який є двійковим значенням, достатньо лише одного біта, але на практиці використовується весь байт, тобто 7 бітів залишаються невикористаними.
Таблиця показує набір загальновживаних числових типів даних та їхніх діапазонів:
Тип даних | Розмір | Діапазон |
---|---|---|
Цілі типи | ||
Булеві | 1 біт (хоча зазвичай зберігається як 1 байт) | 0 до 1 |
Байт | 8 бітів | 0 до 255 |
Слово | 2 байти | 0 до 65535 |
Подвійне слово | 4 байти | 0 до 4,294,967,295 |
Ціле число | 4 байта | −2,147,483,648 до 2,147,483,647 |
Подвійне ціле | 8 байтів | −9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 |
Дійсні типи | ||
Дійсне | 4 байти | 1E-37 до 1E+37 (6 десяткових цифр) |
Подвійної точності | 8 байтів | 1E-307 до 1E+308 (15 десяткових цифр) |
Тип даних, об'єкти якого можуть приймати одне з двох значень: істина (англ. true) та хиба (англ. false).
Перелічуваний тип, перелік (англ. enumeration type) — тип даних, що описується через перелічення всіх можливих значень (кожне з яких позначається власним ідентифікатором), які можуть приймати об'єкти цього типу. Приклад (Pascal):
type Cardsuit = (clubs, diamonds, hearts, spades);
Тип даних, що описує літери та інші знаки, використовувані на письмі. Залежно від мови програмування та конкретної реалізації, може займати 1 чи 2 байти, рідше 4. Однобайтовий символьний тип може використовуватися для представлення символів з набору ASCII та восьмирозрядних кодувань, тоді як для представлення символів з набору Юнікоду потрібно щонайменше 2 байти.
Складені типи даних
Складені типи даних — це типи, які складаються з елементів, що належать до простих типів. До складених типів даних відносяться: масиви, множини, рядки, записи, файли, динамічні змінні, вказівники, лінійні списки (стеки, черги), нелінійні списки (двійкові дерева, несиметричні дерева, тексти, графи), , об'єкти.
Рядки
Рядки (англ. string) — нечисловий тип даних, що використовується для збереження букв та слів. Усі рядки складаються із символів. Рядки можуть містити цифри та числа, але однаково будуть оброблятися як текст. Приклади рядків:
- «A»
- «Hello World»
- «Телефон»
- «Мені 99 років»
- «1.2.3.4.5.6.7.8.9»
У деяких мовах програмування кількість символів у рядку може бути обмежена, в інших довжина рядка може обмежуватися лише кількістю пам'яті в комп'ютері. Можуть бути також порожні рядки.
Структури даних
Абстрактні типи даних
Векторні типи
Векторний тип даних — це тип даних, який будується на основі простих типів даних. Усі елементи векторного типу даних розташовані підряд, у межах створеного об'єкту. Використання цього типу даних у технологіях ГПЗП дозволяє зменшити час обчислення математичних операції, оскільки на ГП час, витрачений на математичну операцію над векторним типом, приблизно дорівнює часу, який треба витратити на цю саму операцію для базового типу. Елементи векторного типу в оперативній пам'яті розташовані підряд, як у масиві, завдяки чому витрачається менше часу на зчитування та запис.
Див. також
Примітки
- Бувають ситуації, коли один або більше бітів відводиться для інших функцій, наприклад, перевірки парності.
- Зауважте, що розмір більшості типів даних різниться залежно від платформи та мови програмування. Наведені тут розміри є найвживанішими на сьогодні.
- C++. Структури. Частина 1. Складені типи даних. Шаблон структури. Структурна змінна. Структури в середовищі CLR. Оголошення та ініціалізація структурної змінної | BestProg. www.bestprog.net. Процитовано 2 жовтня 2022.
Посилання
- Luca Cardelli, Peter Wegner. On Understanding Types, Data Abstraction, and Polymorphism, [1] [ 19 червня 2006 у Wayback Machine.] from Computing Surveys, (December, 1985)
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina Tip Tip danih angl data type harakteristiki yaku yavno chi neyavno nadano ob yektu zminnij funkciyi polyu zapisu konstanti masivu tosho Tip danih viznachaye mnozhinu pripustimih znachen format yihnogo zberezhennya rozmir vidilenoyi pam yati ta nabir operacij yaki mozhna robiti nad danimi Iyerarhiya standartnih tipiv danih u movi programuvannya Python versiyi 3Mashinni tipi danihU vsih komp yuterah zasnovanih na cifrovij elektronici informaciya na najnizhchomu rivni predstavlyayetsya u viglyadi bitiv zi znachennyam 0 abo 1 Najmensha adresovana odinicya informaciyi nazivayetsya bajt zazvichaj yak oktet yakij mistit 8 bitiv Odinicya informaciyi yaka obroblyuyetsya instrukciyami mashinnogo kodu nazivayetsya slovom stanom na 2006 rik zazvichaj po 32 abo 64 biti Bilshist instrukcij sprijmayut slovo yak dvijkove chislo shob 32 bitne slovo moglo buti predstavlene bezznakovim cilim chislom vid 0 do 232 1 abo znakove cile vid 231 do 231 1 Zavdyaki nayavnosti dopovnyalnogo kodu u bagatoh vipadkah mashini ne potribno po riznomu obroblyuvati znakovi ta bezznakovi chisla Isnuye specialnij nabir arifmetichnih instrukcij yaki vikoristovuyut rizni predstavlennya bitiv u slova dlya operacij z ruhomoyu komoyu Prosti tipi danihMovi programuvannya predstavlyayut deyaki prosti tipi danih abo primitivni yak bazovi bloki dlya program ta specializovanishih skladenih tipiv danih Zazvichaj prosti tipi danih vklyuchayut chislovi kilka cilih ta dijsnih tipiv logichnij bulevij simvolnij ta bajtovij Chislovi tipi danih Cili chisla Cilochiselnij tip danih angl integer ne mozhe zberigati drobovu chastinu chisla Dlya vid yemnogo chisla treba staviti znak minus pered znachennyam chislom Ne mozhna vikoristovuvati komu u vvedeni takogo chisla bo inakshe bude viklikana sintaksichna pomilka Prikladi cilih chisel 42 10000 233000 100Dijsni chisla Dokladnishe Chislo z ruhomoyu komoyu Dijsni chisla mozhut mistiti v sobi yak cili tak i drobovi znachennya z krapkoyu vidokremlennya vid ciloyi chastini Dlya vid yemnogo chisla treba staviti znak minus pered znachennyam chislom Prikladi dijsnih chisel zapis u amerikanskij notaciyi de desyatkovim rozdilyuvachem sluguye krapka 20 0005 99 9 5000 12 9999 9991Diapazoni chislovih tipiv danih Kozhnij chislovij tip danih maye minimalne ta maksimalne znachennya yake nazivayut diapazon znachen Vazhlivo znati diapazon znachen osoblivo koli pracyuyete z malenkimi tipami danih oskilki v nih mozhna zberigati lishe znachennya u vuzkomu diapazoni Sproba vnesti chislo bilshe za dostupnij diapazon mozhe prizvesti do pomilok periodu kompilyaciyi vikonannya abo do nepravilnih pidrahunkiv cherez vidkidannya zalezhno vid vikoristovuvanoyi movi programuvannya Diapazon zminnih osnovanij na kilkosti bajtiv vidvedenih dlya zberezhennya znachennya Cili tipi danih rozryadnistyu n displaystyle n bitiv zazvichaj zdatni zberigati 2n displaystyle 2 n znachen Dlya inshih tipiv danih napr dijsnih chisel diapazon zaplutanishij ta zalezhit vid metodu zberigannya informaciyi v nomu Isnuyut takozh tipi danih yaki ne vikoristovuyut uves bajt Napriklad dlya bulevogo tipu yakij ye dvijkovim znachennyam dostatno lishe odnogo bita ale na praktici vikoristovuyetsya ves bajt tobto 7 bitiv zalishayutsya nevikoristanimi Tablicya pokazuye nabir zagalnovzhivanih chislovih tipiv danih ta yihnih diapazoniv Tip danih Rozmir DiapazonCili tipiBulevi 1 bit hocha zazvichaj zberigayetsya yak 1 bajt 0 do 1Bajt 8 bitiv 0 do 255Slovo 2 bajti 0 do 65535Podvijne slovo 4 bajti 0 do 4 294 967 295Cile chislo 4 bajta 2 147 483 648 do 2 147 483 647Podvijne cile 8 bajtiv 9 223 372 036 854 775 808 do 9 223 372 036 854 775 807Dijsni tipiDijsne 4 bajti 1E 37 do 1E 37 6 desyatkovih cifr Podvijnoyi tochnosti 8 bajtiv 1E 307 do 1E 308 15 desyatkovih cifr Logichnij tip danih Tip danih ob yekti yakogo mozhut prijmati odne z dvoh znachen istina angl true ta hiba angl false Perelichuvanij tip danih Perelichuvanij tip perelik angl enumeration type tip danih sho opisuyetsya cherez perelichennya vsih mozhlivih znachen kozhne z yakih poznachayetsya vlasnim identifikatorom yaki mozhut prijmati ob yekti cogo tipu Priklad Pascal type Cardsuit clubs diamonds hearts spades Simvolnij tip danih Tip danih sho opisuye literi ta inshi znaki vikoristovuvani na pismi Zalezhno vid movi programuvannya ta konkretnoyi realizaciyi mozhe zajmati 1 chi 2 bajti ridshe 4 Odnobajtovij simvolnij tip mozhe vikoristovuvatisya dlya predstavlennya simvoliv z naboru ASCII ta vosmirozryadnih koduvan todi yak dlya predstavlennya simvoliv z naboru Yunikodu potribno shonajmenshe 2 bajti Skladeni tipi danihSkladeni tipi danih ce tipi yaki skladayutsya z elementiv sho nalezhat do prostih tipiv Do skladenih tipiv danih vidnosyatsya masivi mnozhini ryadki zapisi fajli dinamichni zminni vkazivniki linijni spiski steki chergi nelinijni spiski dvijkovi dereva nesimetrichni dereva teksti grafi ob yekti Ryadki Ryadki angl string nechislovij tip danih sho vikoristovuyetsya dlya zberezhennya bukv ta sliv Usi ryadki skladayutsya iz simvoliv Ryadki mozhut mistiti cifri ta chisla ale odnakovo budut obroblyatisya yak tekst Prikladi ryadkiv A Hello World Telefon Meni 99 rokiv 1 2 3 4 5 6 7 8 9 U deyakih movah programuvannya kilkist simvoliv u ryadku mozhe buti obmezhena v inshih dovzhina ryadka mozhe obmezhuvatisya lishe kilkistyu pam yati v komp yuteri Mozhut buti takozh porozhni ryadki Strukturi danihDokladnishe Struktura danihAbstraktni tipi danihDokladnishe Abstraktnij tip danihVektorni tipiDokladnishe Vektornij tip danih Vektornij tip danih ce tip danih yakij buduyetsya na osnovi prostih tipiv danih Usi elementi vektornogo tipu danih roztashovani pidryad u mezhah stvorenogo ob yektu Vikoristannya cogo tipu danih u tehnologiyah GPZP dozvolyaye zmenshiti chas obchislennya matematichnih operaciyi oskilki na GP chas vitrachenij na matematichnu operaciyu nad vektornim tipom priblizno dorivnyuye chasu yakij treba vitratiti na cyu samu operaciyu dlya bazovogo tipu Elementi vektornogo tipu v operativnij pam yati roztashovani pidryad yak u masivi zavdyaki chomu vitrachayetsya menshe chasu na zchituvannya ta zapis Div takozhSistema tipizaciyi Spisok struktur danih Zminna tipuPrimitkiBuvayut situaciyi koli odin abo bilshe bitiv vidvoditsya dlya inshih funkcij napriklad perevirki parnosti Zauvazhte sho rozmir bilshosti tipiv danih riznitsya zalezhno vid platformi ta movi programuvannya Navedeni tut rozmiri ye najvzhivanishimi na sogodni C Strukturi Chastina 1 Skladeni tipi danih Shablon strukturi Strukturna zminna Strukturi v seredovishi CLR Ogoloshennya ta inicializaciya strukturnoyi zminnoyi BestProg www bestprog net Procitovano 2 zhovtnya 2022 PosilannyaLuca Cardelli Peter Wegner On Understanding Types Data Abstraction and Polymorphism 1 19 chervnya 2006 u Wayback Machine from Computing Surveys December 1985 Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi