01 Авг 2023
6 мин
2175

Какие типы данных существуют в программировании

Когда классифицируете типы данных, легче определить, где они хранятся и для каких операций применяются.

Типы данных в программировании

Содержание

Данные — это зафиксированные сведения, с которыми работает компьютер: получает, обрабатывает и передает. В программировании есть несколько видов данных.  Новичкам нужно разбираться в данных, чтобы быстрее научиться кодить и понимать алгоритмы.

Что такое тип данных, зачем он нужен

Переменные в математике классифицируют по ключевым характеристикам:

  • вещественные;
  • комплексные;
  • логические;
  • отдельные значения;
  • множества значений;
  • множества множеств.

Тип — это характеристика значений, которые переменная или выражение принимает. Функция тоже может сформировать тип.

Типизация — процесс определения типа информационными сущностями. Она бывает нескольких видов:

  • статическая — заранее назначает и проверяет;
  • динамическая — всё делает в процессе;
  • статично-динамическая — совмещает оба предыдущих типа.

По назначению типов:

  • сильная — навсегда;
  • слабая — допускает изменения.

Многие языки программирования типизированы частично. Если типизация слабая, то можно и отступиться от правил систематизации типов. Программы со слабой типизацией проще сделать более эффективными. Но из-за слабой типизации в коде может появиться много ошибок — багов.

Какие бывают типы данных

Основополагающее понятие в программировании — это виды данных. Классификация помогает определить, где они хранятся, что собой представляют и для каких операций применяются.

✔️ Логические

Этот тип данных основан на логике и может иметь два значения: false (ложь) или true (правда). В языках С# и C++ это bool, а в Java — boolean.

✔️ Целочисленные

Виды данных в программировании делят на знаковые и беззнаковые. В первых хранятся действительные числа и ноль, а во вторых — только больше нуля.

У беззнаковых данных диапазон в два раза больше, чем у знаковых. Это происходит из-за компьютерного восприятия. В знаковых типах бит отражает знак числа, где ноль — положительное значение, а единица — отрицательное.

Учитывая восприятие компьютерными устройствами целого значения, в ячейке памяти из n бит может храниться и 2n-1 для знаковых типов, и 2n — для беззнаковых.

Еще одна классификация типов данных:

  • Тип short, или короткий целый. Занимает в ячейке памяти 16 бит, то есть 2 байта (216 = 65 536).
  • Тип long. Ему отводится 64 бита = 8 байт (264 = 1,8 446 744 * 1019).

✔️ Числа с плавающей запятой

Плавающая запятая — форма представления действительных чисел, где число хранится в форме мантиссы и показателя степени. Если говорить на языке программирования, то каждое число может быть представлено в следующей форме:

X = M ∗ 10p,

где X — записываемое число;

M — мантисса;

p (целое) — порядок.

Например: 1 592 916 = 1,592 916 ∗ 106; 0,00027,459 = 27,459 ∗ 10-5. На мониторе вы увидите следующие значения:

1,592916E+6; 27,459E–5.

В предназначенном месте памяти хранится целое число фиксированной длины и последовательность вносимого значения.

✔️ Строковые

Строка string в JavaScript — часть текста или определенный заведомо установленный порядок знаков. Их закавычивают.

Отдельные языки применяют специальный вид данных в программировании, с его помощью заносят символ. Например, в языке С — char.

✔️ Указатели

Указатель — это объект, который хранит определенный адрес в памяти компьютера. Значение указателя — это физический адрес определенных данных: указатель указывает на эти данные.

Получение данных по адресу, который хранится в указателе, называют разыменованием указателя. При создании указателя перед названием переменной добавляют *. Указатель может быть нулевым и не указывать ни на один объект.

✔️ Идентификационные

Конечный набор значений определяет перечисляемый тип. Как правило, его представляет список идентификаторов в объявлении типа.

Разберем пример на языке С++ (в С# и Java — аналогично):

enum Season { Spring, Summer, Autumn, Winter };

В случае когда идентификатор указывается в списке значений перечисляемого типа, он становится наименованием константы, которая определена в блоке типа.

✔️ Абстрактные

У абстрактного типа данных (АТД) есть преимущества перед остальными типами:

  1. Инкапсуляция деталей реализации. Инкапсуляция — ограничение доступа к компонентам, составляющим объект. Достаточно один раз инкапсулировать, чтобы пользователь смог самостоятельно взаимодействовать с АТД через интерфейс. Если детали реализаций поменяют, то представления клиентов о работе не изменятся.
  2. Снижение уровня сложности через абстрагирование от деталей реализации. Это значит, что детали скрывают и сосредотачиваются на ключевых аспектах системы. Так можно сосредоточиться на том, что делает АТД.
  3. Ограничение области использования данных. Все данные структуры АТД не зависят от других участков кода.
  4. Высокая информативность интерфейса.

Примеры

  1. В языке Python используют следующие типы данных программирования:
  • int — целочисленный;
  • char — символьный;
  • bool — логический;
  • float — с плавающей запятой;
  • double — с плавающей запятой двойной точности.

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Разработчик на Python создает сайты и приложения

  1. Язык программирования JavaScript содержит следующие типы данных:
  • string — тип данных «строка»;
  • number — «число»;
  • object — тип данных, хранящий свойства и методы;
  • undefined — тип данных, значения которых не определены;
  • boolean — логический;
  • null — с «пустыми» значениями.

Самоприменение типов данных

У типа данных может быть особенность параметризации с каким-либо другим типом, но строго подчиненная и соотнесенная с принципами абстракции и параметричности.

Под теорией типов понимают математически формализованную базу, которая служит как для проектирования и анализа, так и для изучения систем типов данных в теории языков программирования. За всё это отвечает специально выделенный раздел в информатике.

Пример. Чтобы функция сортировки последовательностей могла быть реализована, необязательно знать свойства всех элементов, которые ее составляют. Важен допуск операции по сравнению и анализу данных. Тогда параметр «последовательности» станет параметрически полиморфным. Составляющие такого типа будут определяться и использоваться не с конкретными типами, а с параметрами-типами. Но параметрически полиморфный тип может быть представлен как конструктор других любых типов. Он становится оператором над типами в арифметической реальности.

В программировании и информатике есть понятия «отражение», «рефлексивность» или «интроспекция». Они обозначают одно и то же — выявление метатипов в динамике.

Представление в компьютере

Реальное программирование отличается от формальной теории информации. Главное отличие — в изучении вопросов об эффективности.

Отличие заключается в понятии «число». Этот термин в науке об ЭВМ и на практике абсолютно неодинаков. Число на ЭВМ понимается как ячейка электронной памяти. Размер кластера зависит от архитектуры ЭВМ и диапазона значений числа. Он обязательно ограничен, а стоп-объем равен объему ячейки.

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

Главное: что такое тип данных

  1. Тип данных — это характеристика значений, которые принимает некоторая переменная или выражение.
  2. Есть семь типов данных: логические, целочисленные, с плавающей запятой, строковые, указатели, идентификационные, абстрактные.
  3. В языке Python используют пять типов, а в JavaScript — шесть типов данных.
Получите пошаговый план развития в карьере после записи на курс

    Оставляя заявку, вы принимаете условия соглашения

    Учёба ради учёбы — это не прикольно. На наших курсах вы ставите конкретные цели и достигаете их в заданные сроки. Начинайте карьеру с первых достижений!

    Добавить комментарий