Введение
В компьютерной науке примитивные типы данных – это набор базовых типов данных, из которых строятся все остальные типы данных. В частности, это часто относится к ограниченному набору представлений данных, используемых конкретным процессором, которые обязаны использовать все компилируемые программы. Большинство процессоров поддерживают схожий набор примитивных типов данных, хотя конкретные реализации могут различаться. В более широком смысле, "примитивные типы данных" могут означать стандартные типы данных, встроенные в язык программирования (встроенные типы). Типы данных, которые не являются примитивными, называются производными или составными.
In computer science, primitive data types are a set of basic data types from which all other data types are constructed. Specifically it often refers to the limited set of data representations in use by a particular processor, which all compiled programs must use. Most processors support a similar set of primitive data types, although the specific representations vary. More generally, "primitive data types" may refer to the standard data types built into a programming language (built in types). Data types which are not primitive are referred to as derived or composite.
Общие примитивные типы данных
Наиболее распространенными примитивными типами являются те, которые используются и поддерживаются компьютерным оборудованием, такие как целые числа различных размеров, числа с плавающей точкой и логические значения типа "булев". Операции с такими типами обычно достаточно эффективны. Примитивные типы данных, изначально поддерживаемые процессором, имеют однозначное соответствие объектам в памяти компьютера, и операции с этими типами часто являются максимально быстрыми в большинстве случаев. Например, сложение целых чисел может выполняться одной машинной инструкцией, а некоторые процессоры предлагают специальные инструкции для обработки последовательностей символов одной инструкцией. Однако выбор примитивного типа данных может влиять на производительность; например, для работы с массивом чисел с плавающей точкой быстрее использовать SIMD-операции и соответствующие типы данных.
C основные типы
Набор основных типов данных в C аналогичен набору в Java. Минимально определены четыре типа: char, int, float и double, однако квалификаторы short, long, signed и unsigned означают, что в C существует множество примитивных целочисленных и типов с плавающей точкой, зависящих от целевой платформы. Стандарт C99 расширил этот набор, добавив логический тип Bool и разрешив использование модификатора long дважды в сочетании с int (например, long long int).
Язык JavaScript
В JavaScript существует 7 примитивных типов данных: строка, число, bigint, булево, undefined, символ и null. Это не объекты и не имеют методов.
Visual Basic .NET (в переводе с английского)
В Visual Basic NET примитивные типы данных включают 4 целочисленных типа, 2 типа с плавающей точкой, 16-байтовый десятичный тип, логический тип, тип даты и времени, тип символов Unicode и тип строк Unicode.
Символы и строки
Тип символа — это тип, способный представлять все символы Unicode и, следовательно, должен быть шириной не менее 21 бита. Некоторые языки, такие как Julia, включают настоящий 32-битный тип символов Unicode в качестве примитивного. Другие языки, такие как JavaScript, Python, Ruby и многие диалекты BASIC, не имеют примитивного типа символов, но вместо этого добавляют строки как примитивный тип данных, обычно используя кодировку UTF-8. Строки длиной в один символ обычно используются для представления отдельных символов. Некоторые языки имеют типы "символов", которые недостаточно велики для представления всех символов Unicode. Более правильно их классифицировать как целочисленные типы, которым дали вводящее в заблуждение название. Например, в C есть тип `char`, но он определяется как наименьшая адресуемая единица памяти, которая, согласно нескольким стандартам (например, POSIX), должна быть 8 бит. В последних версиях этих стандартов `char` упоминается как числовой тип. `char` также используется для 16-битного целого числа в Java, но и это не тип символов Unicode. Термин "строка" также не всегда относится к последовательности символов Unicode, а скорее к последовательности байтов. Например, в x86-64 есть "строковые" инструкции для перемещения, установки, поиска или сравнения последовательности элементов, где элемент может быть длиной 1, 2, 4 или 8 байтов.