Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Функции работы с битовыми строками






Битовые операции выполняются с помощью четырех функций: $В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 также может стоять слева от знака равенства. Этот вариант может быть использован для создания битовой строки или изменения отдельного бита в определенной позиции.

Set а = " " Set $ВIТ(а, 4) = 1

Здесь переменная инициализируется пустой строкой и затем четвертый бит устанавливается в 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 выполняет побитовые логические операции с битовой строкой.

Оператор Символ оператора
И (AND) &
ИЛИ (OR) I
исключающее ИЛИ ^
НЕ (NOT) ~

Общая форма функции $BITLOGIC:

$BITLOGIC(bitstring_expression[, length])

Здесь bitstring_expression представляет собой битовое выражение, составленное с помощью операторов, представленных в таблице 18. Таким образом, выражение может состоять либо из последовательности операторов И и ИЛИ (например, «А & В | С»), либо из одного оператора НЕ (например, «~А»). В этом случае в результате получается строка бит, содержащая инвертированные значения бит строки А. В первом варианте можно использовать скобки для задания последовательности операций, например, «(А & В) | (В & С)».

Второй аргумент, length, задает длину результирующей битовой строки.

Допустим, битовые строки А и В представлены следующим образом:

А = [1, 1], В = [0, 1]

Тогда:

Set C = $BITLOGIC(~B) // С будет равно [1, 0] Set C = $BITLOGIC(A & B) // С будет равно [0, 1] Set C = $BITLOGIC(A | B) // С будет равно [1, 1]

Другая функция, «$ZBOOLEAN(arg1, arg2, bit - op)», использует байтовое представление символов и позволяет выполнять битовые логические операции, заданные третьим аргументом, между первыми двумя. Имя функции $ZBOOLEAN не может быть сокращено.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал