Побитовый оператор

Заданная битовая операция на входных параметрах

  • Библиотека:
  • Simulink / Логика и Битовые операции

Описание

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

Ограничения на блочные операции

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

Когда сконфигурировано как мультивходной параметр логический элемент XOR, этот блок выполняет по модулю 2 сложения согласно Стандарту IEEE® для Логических Элементов.

Порты

Входной параметр

развернуть все

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

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

Вывод

развернуть все

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный | шина

Параметры

развернуть все

Задайте побитовый логический оператор для блочных операндов.

Можно выбрать одну из этих битовых операций:

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

И

ВЕРНЫЙ, если соответствующие биты являются всей ИСТИНОЙ

ИЛИ

ВЕРНЫЙ, если по крайней мере один из соответствующих битов ВЕРЕН

НЕ - И

ВЕРНЫЙ, если по крайней мере один из соответствующих битов является ЛОЖНЫМ

NOR

ВЕРНЫЙ, если никакие соответствующие биты не ВЕРНЫ

Xor

ВЕРНЫЙ, если нечетное число соответствующих битов ВЕРНО

НЕТ

ВЕРНЫЙ, если входной параметр является ЛОЖНЫМ (доступный только для единственного входного параметра)

Программируемое использование

Блочный параметр: logicop
Ввод: символьный вектор
Значения: 'И' | 'ИЛИ' | 'НЕ - И' | 'NOR' | 'XOR' | 'НЕТ'
Значение по умолчанию: 'AND'

Выберите, чтобы использовать битовую маску. Снятие этого флажка включает Количество входных портов и отключает маску Битовой маски и Обработки как.

Программируемое использование

Блочный параметр: UseBitMask
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'on'

Задайте количество входных параметров. У вас может быть больше чем один входной порт.

Зависимость

Очистка флажка битовой маски Использования включает Количество входных портов и отключает маску Битовой маски и Обработки как.

Программируемое использование

Блочный параметр: NumInputPorts
Ввод: символьный вектор
Значения: положительное целое число
Значение по умолчанию: '1'

Задайте битовую маску, чтобы сопоставить с единственным входным параметром.

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

Выполнять...Установите параметр Оператора на...И создайте немного маски с...
BitsetИЛИ1 для каждого соответствующего входного параметра укусил это, вы хотите установить на 1
Ясный битИ0 для каждого соответствующего входного параметра укусил это, вы хотите установить на 0

Предположим, что вы хотите установить четвертый бит 8-битного входного вектора. Битовая маска была бы 00010000, который можно задать как 2^4 для параметра Битовой маски. Чтобы очистить бит, битовая маска была бы 11101111, который можно задать как 2^7+2^6+2^5+2^3+2^2+2^1+2^0 для параметра Битовой маски.

Совет

Не используйте маску, больше, чем 53 бита. В противном случае сообщение об ошибке появляется во время моделирования.

Зависимость

Этот параметр доступен только, когда вы выбираете битовую маску Use.

Программируемое использование

Блочный параметр: BitMask
Ввод: символьный вектор
Значения: положительное целое число
Значение по умолчанию: 'bin2dec('11011001')'

Задайте, обработать ли маску как реальное значение или сохраненное целое число.

Схемой кодирования является V = SQ + B, как описано в Масштабирующемся (Fixed-Point Designer) в Фиксированной точке документация Designer™. Real World Value обрабатывает маску как V. Stored Integer обрабатывает маску как Q.

Зависимость

Этот параметр доступен только, когда вы выбираете битовую маску Use.

Программируемое использование

Блочный параметр: BitMaskRealWorld
Ввод: символьный вектор
Значения: 'Значение реального мира' | 'Сохраненное целое число'
Значение по умолчанию: 'Stored Integer'

Блокируйте характеристики

Типы данных

Boolean[a] | base integer | fixed point

Прямое сквозное соединение

No

Многомерные сигналы

Yes

Сигналы переменного размера

No

Обнаружение пересечения нулем

No

A 

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

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Фиксированной точки Designer™.

Представлено до R2006a