Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Функции работы с битовыми строками
Битовые операции выполняются с помощью четырех функций: $ВIТ, $BITCOUNT, $BITFIND, и $BITLOGIC. При этом битовая строка – это последовательность состояний «да/нет» (символически изображается в виде последовательности единиц и нулей), например, (0, 1, 0, 0, 1, 1, 1, 0). Функция $BIT Функция $BIT создает битовую строку или устанавливает значение бита в определенной позиции. Двухаргументный вариант $BIT(bitstring, position) извлекает значение бита в позиции, заданной position. Трехаргументный вариант $BIT(bitstring, position, bitvalue) возвращает текущее значение бита, заданного position, и устанавливает его в новое значение, заданное bitvalue. Функция $BIT также может стоять слева от знака равенства. Этот вариант может быть использован для создания битовой строки или изменения отдельного бита в определенной позиции.
Здесь переменная инициализируется пустой строкой и затем четвертый бит устанавливается в 1. После этого значение битовой строки будет [0, 0, 0, 1].
Функция $BITCOUNT Функция $BITCOUNT также существует в двух формах. В форме с одним аргументом $BITCOUNT(bitstring) она возвращает число битов в битовой строке. Если в качестве второго аргумента задано битовое значение (0 или 1), подсчитывается число бит заданного значения. $BITFIND
Функция $BITFIND Третья функция работы с битовыми строками, $BITFIND, ищет заданное значение бита и возвращает его позицию в строке. Например, если а = [0, 0, 1, 1, 0], тогда $BITFIND(a, 1) вернет число 3, поскольку бит со значением 1 первый раз встречается в третьей позиции. Добавление третьего аргумента задает позицию, начиная с которой необходимо начинать поиск. В предыдущем примере $BITFIND (а, 0, 3) вернет значение 5, поскольку бит со значением 0 встречается снова только на 5 позиции.
Функция $BITLOGIC Функция $BITLOGIC выполняет побитовые логические операции с битовой строкой.
Общая форма функции $BITLOGIC:
Здесь bitstring_expression представляет собой битовое выражение, составленное с помощью операторов, представленных в таблице 18. Таким образом, выражение может состоять либо из последовательности операторов И и ИЛИ (например, «А & В | С»), либо из одного оператора НЕ (например, «~А»). В этом случае в результате получается строка бит, содержащая инвертированные значения бит строки А. В первом варианте можно использовать скобки для задания последовательности операций, например, «(А & В) | (В & С)». Второй аргумент, length, задает длину результирующей битовой строки. Допустим, битовые строки А и В представлены следующим образом:
Тогда:
Другая функция, «$ZBOOLEAN(arg1, arg2, bit - op)», использует байтовое представление символов и позволяет выполнять битовые логические операции, заданные третьим аргументом, между первыми двумя. Имя функции $ZBOOLEAN не может быть сокращено.
|