Типы данных в программировании определяются выбранным языком разработки и позволяют выделять некоторое пространство в памяти оборудования под функции, переменные и иные объекты исходного кода. Это оказывает влияние и на особенности обработки данных.
В языках программирования СИ поддерживаются самые разные типы данных. Примеры – int, double, float. Далее предстоит поближе познакомиться с типизацией в информатике. Необходимо выяснить, что она собой представляет, как реализовывается в C, а также какими особенностями и нюансами обладает. Статья в большей степени ориентирована на начинающих программистов.
Ключевые определения
Перед более детальным изучением data type необходимо в первую очередь выучить несколько понятий. Они пригодятся каждому, кто планирует разрабатывать программное обеспечение. Типизация в соответствующем деле – это «база», без которой создавать сложные проекты не представляется возможным.
Каждый программист должен знать следующие определения:
- Алгоритм – набор инструкций, направленный на решение той или иной задачи.
- Переменная – именованная область памяти. Место, в котором хранятся переменные и другие кодовые компоненты.
- Оператор – объект, который способен управлять (манипулировать) операндами. Операнд обозначает компонент программного кода, которым допускается оперирование.
- Указатель – это переменная с адресом места в памяти.
- Тип данных – классификация информации схожего характера.
- Массив – списки или группы (множества) схожих типов значений. Они предварительно проходят этап группировки. Все значения в массиве будут иметь одни и те же data types, отличаясь исключительно своим местоположением.
- Константа – неизменное значение. Оно не меняется ни при каких обстоятельствах в процессе работы исходного кода программы.
- Петля – это цикл. Представляет собой последовательность инструкций, которые раз за разом повторяют один и тот же процесс. Это происходит до тех пор, пока приложение не выполнит установленное условие или не получит команду на остановку.
- Итерация – один проход приложения через имеющийся набор инструкций.
- Ключевые слова – слова, которые язык программирования зарезервировал синтаксисом. Используются для выполнения определенных задач, а также обозначения функций, инструментов и объектов.
- Класс – это набор связанных объектов, имеющих общие свойства.
Когда разработчик поймет, что значит каждый приведенный выше термин, он может приступить к более детальному изучению типов информации в программировании. Особое внимание рекомендуется уделить типу double в C. Он используется так же часто, как и int.
Типизация в информатике
Система типов – это совокупность правил в языках разработки, которые назначают свойства (они называются типами) разнообразных конструкциям, которые формируют исходный проект. К ним можно отнести:
- модули;
- функции;
- переменные;
- выражения.
Ключевая роль типизации – уменьшение количества ошибок в исходном коде за счет грамотного определения интерфейсов между разнообразными частями приложения и проверки согласованности взаимодействия «фрагментов» между собой. «Тестирование» может быть организовано статически (во время компиляции) или динамически (до формирования проекта в программу). Допускается сочетание соответствующих концепций.
Виды данных
Тип данных будет определять множество значений, набор операций, применяемых к соответствующим материалам, а также способ реализации хранения значений и выполнения операций. За счет этого «компонента» система сможет выделить тот или иной размер памяти на устройстве для нормального функционирования объекта кода.
Проверка и накладывание ограничений на виды используемых данных – это контроль типов или типизация. В языке C поддерживается ее статический вид. Это значит, что разработчик перед компиляцией должен самостоятельно определить виды используемой информации в задействованном проекте.
Рассматривая описание видов информации в IT и программировании, по умолчанию можно выделить следующие «классы»:
- простые;
- составные (сложные);
- иные.
Первая категория – это самый распространенный вариант. Он включает в себя целочисленные типы, типы с плавающей запятой (вещественные), символьные и логические. Соответствующий вариант будет рассмотрен более подробно далее. Он используется как в простых, так и в достаточно сложных проектах чаще всего.
К составным вариантам относят:
- массивы – индексированные наборы элементов одного и того же вида (пример – double);
- строки – массивы, включающие в себя символьные строки;
- структуры – наборы разнообразных элементов, который хранится в качестве единого целого и предусматривает доступ к отдельным полям.
Описание иных видов информации обычно ограничивается определением указателя и идентификатора.
Указатель – это компонент, который хранит адрес в памяти компьютера, указывающий на те или иные данные. Обычно работает с различными переменными.
Идентификатор – последовательность, размер которой составляет до 32 символов (латинский алфавит, подчеркивания, цифры). Является уникальным «именем» компонента в исходном программном коде.
Единицы измерения
Когда стало понятно, что означает типизация, а также какими условно бывают виды информации, некоторые из них (double и другие) могут быть изучены более подробно. Сначала нужно выяснить, в каких единицах измеряются данные в IT и информатике.
Минимальная единица измерения – это бит. Оно выражает информацию, которая выступает достаточно для установки различий между двумя явлениями одинаковой вероятности. 1 бит указывает на два понятия 0 и 1 (ложь и истина, неверно или верно, нет или да, zero или определенное значение).
Бит – самая маленькая единица измерения, с которой может работать оператор или функция. Она редко используется на практике. Чаще всего программистам приходится работать с другой единицей измерения – с байтами. 1 byte – это 8 бит.
Вот единицы измерения количества данных и их диапазон. Они представлены по возрастанию:
По представленному выше принципу обозначена измерительная система, которая является международным стандартом. В программировании при выяснении того, какой размер имеет функция или переменная, принято применять биты или байты. В них переводятся остальные единицы счисления.
Основные типы в C
Когда стало понятно, каким образом в информатике определяется размер (size) в файле или документе, а также ключевые единицы счисления в IT, можно более подробно изучить основные виды информации в C. К ним относят значение переменной типа «простое».
Целочисленные
Целочисленные – это целые числа. Они могут быть представлены в нескольких формах: беззнаковой и знаковой. В первом случае числа будут представлены в виде последовательности битов, диапазон которых составляет от 0 до 2n-1, где n – это количество занимаемых битов. Во втором случае диапазон определяется как -2n-1…+2n-1-1. Старший бит будет отводится под знак. Здесь 0 значит положительное число, а 1 – означает отрицательное.
Ниже представлена таблица, помогающая запомнить описание целочисленных, с которыми работает C. Double и float в соответствующую категорию не относятся, но они тоже являются простыми:
Размер (sizes) в битах | Беззнаковые | Знаковые |
8 | Unsigned char – символы от 0 до 255. | Char, -128 до 127 |
16 | Unsigned short, от 0 до 65 535 | Short, от -32 768 до 32 767 |
32 (или 4 байта) | Unsigned int | Int – обычное целое число. Максимальное значение – 32 767, минимальное – -32 767. |
64 | Unsigned long int | Long int |
У каждого вида информации, не только целого, есть свой минимальный размер. Меньше соответствующего значения система не сможет выделить памяти на устройстве для нормальной работы элемента.
Вещественные
Сюда относят «числа с точкой». Это множество, которое включает в себя тип float в C (числа с плавающей запятой). К этой же категории относится double.
Вещественный тип (double и другие) используется для того, чтобы представлять в информатике действительные числа. Они представляются в разрядной сетке устройства в нормированной форме.
Нормированная форма числа с плавающей точкой – это наличие одной значащей цифры, отличной от нуля, до разделения целой и дробной части. Соответствующее представление умножается на основание системы счисления в соответствующей степени. Ниже – пример десятичных дробей:
В нормированной форме оно выглядит как:
В двоичной системе счисления значащий разряд, стоящий перед точкой (разделителем дробной и целой части) может быть равен только 1. Если число нельзя представить в нормированной форме, значащий размер перед разделителем целого и дроби будет равен нулю.
В C оператор может работать с тремя вещественными видами информации (включая double). Сюда относят:
- Float. Это простое вещественное число. Оно означает значение одинарной точности с плавающей запятой. Занимает 4 байта. Хранит в себе число с точкой от -3,4 *1038до 3,4*1038.
- Double – вещественный тип с плавающей точкой двойной точности. Double принимает значения в диапазоне от +-5*10-324 до +-1,7*10308. Занимает 8 байтов.
- Long double – вещественное число двойной расширенной точности. Может быть 80-битным форматом. Встречается крайне редко.
Других вещественных вариаций язык программирования не предусматривает.
Логический
Логический тип добавлен в C99. Представлен ключевым словом _Bool. В отличие от double, может принимать всего два значения: истина и ложь.
Дополнительный заголовочный файл stdbool.h определяет для такого компонента псевдоним bool, а также макросы true и false. Ведет себя этот компонент точно так же, как встроенный тип (включая doubles), за исключением того, что любое ненулевое присваивание будет храниться в качестве единицы.
Здесь можно увидеть несколько наглядных примеров применения double и других типов информации в изученном языке.
P. S. Интересует разработка? Обратите внимание на курс «Программист C». Также в Otus доступно множество других современных курсов.