|
<< Click to Display Table of Contents >> Navigation: Программирование в MasterSCADA 4D > Редактор ST > Синтаксис Master ST > Особенности вычислений > Особенности битовых строк |
К особенностям работы с битовыми строками в MasterSCADA 4D относятся:
1.Присвоение значений с переполнением:
Для переменных типа данных LWORD, DWORD, WORD или BYTE при превышении максимального значения работает циклическое присвоение:
Тип |
Максимальное значение (MAX) |
Пример переполнения |
BYTE |
255 |
a := 256 → a = 0 |
WORD |
65,535 |
a := 65,536 → a = 0 |
DWORD |
4,294,967,295 |
a := 4,294,967,296 → a = 0 |
LWORD |
18,446,744,073,709,551,615 |
a := 18,446,744,073,709,551,616 → a = 0 |
Формула: a = N - MAX - 1, где:
•a - переменная типа данных;
•MAX - максимальное число для данного типа данных;
•N - значение, записываемое в а.
2.Особенности вычитания:
При вычитании меньшего значения из большего (b < a) для битовых строк:
Формула: b - a = MAX - a + b + 1, где:
MAX – максимальное значение для данного типа данных.
В случае, например, DWORD-переменных: b - a = 16#FFFFFFFF - a + b + 1.
В частности, это свойство используется для корректного вычисления длины временного интервала по отсчетам, полученным с помощью функции TIME.