Документация Engee

Bitwise Operator

Выполняет заданную побитовую операцию над входными сигналами.

Тип: Bitwise Operator

Путь в библиотеке:

/Basic/Logic and Bit Operations/Bitwise Operator

Описание

Блок Bitwise Operator выполняет заданную побитовую операцию для одного или нескольких операндов. В отличие от логических операций блока Logical Operator, побитовые операции обрабатывают операнды как вектор битов, а не как одно значение.

Значок блока меняется в зависимости от выбранной операции в параметре Operator.

Количество входных портов блока задается параметром Number of input ports.

Ограничения операций с блоком

Блок Bitwise Operator не поддерживает операции сдвига. Для операций сдвига используйте блок Shift Arithmetic.

Порты

Выход

# OUT_1 — выходной сигнал
скаляр | вектор | матрица

Details

Выходной сигнал. Его тип должен точно представлять ноль. Типы данных, удовлетворяющие этому условию, включают целочисленные типы данных со знаком и без знака.

Размер вывода блока зависит от количества входных параметров, размера вектора и выбранного вами оператора. Если битовая маска не задана, то вывод является скаляром, иначе вектором.

Типы данных

Int64

Поддержка комплексных чисел

Да

Вход

# IN_1 — входной сигнал
скаляр | вектор | матрица

Details

Входной сигнал в виде скаляра или вектора.

Количество входных портов блока задается параметром Number of input ports.

  • Оператор NOT принимает только один вход, который может быть скаляром или вектором. Если вход представляет вектор, выход представляет вектор того же размера, содержащий результаты заданной логической операции над элементами входного вектора.

  • Для одного входного вектора блок применяет операцию (кроме оператора NOT ) ко всем элементам вектора.

  • Для двух или более входов блок выполняет операцию между всеми входами. Если входные параметры являются векторами, блок выполняет операцию между соответствующими элементами векторов, таким образом формируя выходной вектор того же размера.

Типы данных

Int64

Поддержка комплексных чисел

Да

Параметры

Основные

# Operator — побитовый логический оператор
AND | OR | NAND | NOR | XOR | NOT

Details

Побитовый логический оператор для блочных операндов. Доступны следующие побитовые операции:

Побитовая операция Описание

AND

true, если все соответствующие биты true

OR

true, если хотя бы один из соответствующих битов true

NAND

true, если хотя бы один из соответствующих битов false

NOR

true, если нет соответствующих битов true

XOR

true, если нечетное количество соответствующих битов true

NOT

true, если вход false (доступно только для одного входа)

Значения

AND | OR | NAND | NOR | XOR | NOT

Значение по умолчанию

AND

Имя для программного использования

logicop

Настраиваемый

Нет

Вычисляемый

Нет

# Use bit mask — использовать битовую маску
Logical

Details

Установите флажок, чтобы использовать битовую маску.

Значение по умолчанию

true (включено)

Имя для программного использования

UseBitMask

Настраиваемый

Нет

Вычисляемый

Нет

# Number of input ports — количество входных сигналов
Int64 integer

Details

Количество входов. Может быть более одного входного порта.

Зависимости

Чтобы использовать этот параметр, снимите флажок Use bit mask.

Значение по умолчанию

1

Имя для программного использования

NumInputPorts

Настраиваемый

Нет

Вычисляемый

Да

# Bit Mask — битовая маска для связи с одним входом
Scalar / array of real numbers

Details

Задайте битовую маску для связи с одним входом. Этот параметр считывает значения как шестнадцатеричные значения.

Вы можете использовать битовую маску, чтобы установить, получить или очистить (обнулить) бит входного сигнала.

Действие Значение параметра Operator Битовая маска

Установить бит

OR

1 для каждого соответствующего входного бита, который вы хотите установить в 1

Очистить бит

AND

0 для каждого соответствующего входного бита, который вы хотите установить в 0

Получить бит

AND

1 для каждого соответствующего входного бита, который вы хотите получить

Предположим, вы хотите установить четвертый бит 8-битного входного вектора. Битовая маска будет 00010000, которую вы можете указать как 2^4 для параметра Bit Mask. Чтобы очистить бит, используйте битовую маску 11101111, которую вы можете указать как 27+26+25+23+22+21+2^0 для параметра Bit Mask.

Зависимости

Чтобы использовать этот параметр, установите флажок Use bit mask.

Значение по умолчанию

0b11011001

Имя для программного использования

BitMask

Настраиваемый

Да

Вычисляемый

Да

Дополнительные возможности

Генерация Си кода: Да