Простой тип

Простой тип (англ. primitive, fundamental, basic, plain, simple или built-in data type) — в информатике тип данных, о объектах которого, переменных или постоянных, можно сказать следующее:

  • работа с объектами осуществляется с помощью конструкций языка;
  • внутреннее представление значений объектов может зависеть от реализации транслятора (компилятора или интерпретатора) и от платформы;
  • объекты не включают в себя другие объекты и служат основой для построения других объектов (см. составной (сложный) тип).

Создание переносимого кода (кода, результат компилирования/интерпретации которого разными трансляторами одинаков на разных платформах) возможно, если не пытаться интерпретировать значения простых типов. Например, на разных платформах числа могут отличаться основанием системы счисления, разрядностью, порядком байт, форматом представления. При работе с форматами представления чисел код выполняется быстрее, но переносимость теряется.

Как правило, к простым относятся числовые типы:

В каждом языке программирования доступны разные простые типы данных. Например, в некоторых языках для контролеров с программируемой логикой имеются простые типы для хранения времени. Способы записи констант разных типов определяются стандартом языка. Например, запись 1 может описывать константу целого типа, а запись 1.0 — вещественного.

Введение простых типов преследовало несколько целей:

  • упрощение жизни программистов путём предоставления стандартных контейнеров для размещения данных;
  • предотвращение логических ошибок (ошибок программиста), связанных с применением к данным несвойственных им команд;
  • предотвращение ошибок и неоднозначностей, связанных со случайным или преднамеренным доступом к внутреннему представлению значений простых типов.

Большинство языков программирования содержат предопределённые функции для работы с простыми типами:

Некоторые языки (например, C и C++) не ограничивают программиста в выборе способа обработки значений простых типов, даже позволяют определить поля для простого типа (см. битовые поля).

См. также