Типы данных
Каждая переменная или константа в приложении Unimod PRO 2 имеет фиксированный тип данных, который не может быть изменен в процессе выполнения приложения. Для переменных тип данных определяется при их объявлении в одном из словарей приложения.

Тип данных константы определяется в зависимости от формата ее написания или контекста использования при введении числовых констант.
//есть всего две константы булевского типа: true и false
local_var_0001 := true;
//байтовые константы имеют формат b#<число_от_0_до_255>
local_var_0002 := b#5;
//т.к. значение присваивается целочисленной переменной,
//5 - целочисленная константа
local_var_003 := 5;
//в вещественных значениях всегда используется символ точки,
//для разделения целой и дробной части
local_var_0004 := 3864.55;
//вещественные константы двойной точности имеют формат:
//d#<целая_часть>.<дробная_часть>
local_var_0005 := d#3864.55;
//таймерные константы имеют формат t#__h__m__s__ms
local_var_0006 := t#22h22m22s123ms;
//строковые константы всегда заключаются в одинарные кавычки
local_var_0007 := 'Строковая константа в одинарных кавычках';
|
Выбранный тип данных определяет выделяемый контроллером объем памяти для хранения одного значения, а также поддерживаемые операции над значениями выбранного типа.
Тип данных и выделяемый объем памяти.
Для каждого типа данных определен диапазон поддерживаемых значений. Например, для булевского типа поддерживаются только значения true и false, для байтового значения от 0 до 255, для целочисленного от -2147483647 до +2147483647 и т.д.
Но память контроллера для каждого типа данных выделяется фиксировано и не зависит от выбранного значения из допустимого диапазона. Так для каждого значения байтового типа данных выделяется 8 бит (значение 5 - 8 бит, значение 255 - 8 бит), для каждого целочисленного значения 32 бита (5 - 32 бита, 2147483647 - 32 бита), а для каждого вещественного значения двойной точности уже 64 бита.


Тип данных и поддерживаемые операции.
Тип данных определяет операции, которые могут выполняться над значениями выбранного типа. Например, для булевских значений допустимы логические операции (логическое умножение, сложение и т.д.), но недопустимы арифметические операции и операции сравнения. А для целочисленных значений наоборот, допустимы операции сравнения, но недоступны логические.
//операция логического умножения над булевскими значениями допустима
local_var_0001 := true AND false;
//операция логического умножения над целочисленными значения недопустима
local_var_0003 := 5 AND 3000;
//операция сложения над целочисленными значениями допустима
ocal_var_0003 := 5 + 3000;
//операция сложения над булевскими значениями недопустима
local_var_0001 := true + false;
|
