Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Bitwise Operator

对输入执行指定的按位运算

  • 库:
  • Simulink / Logic and Bit Operations

    HDL Coder / Logic and Bit Operations

  • Bitwise Operator block

说明

Bitwise Operator 模块执行您为一个或多个操作数指定的按位运算。与 Logical Operator 模块的逻辑运算不同的是,按位运算将操作数视为位向量,而不是单个值。

对模块运算的限制

Bitwise Operator 模块不支持移位运算。对于移位运算,请使用 Shift Arithmetic 模块。

当配置为多输入 XOR 门时,此模块将按照 IEEE® 逻辑元素标准的规定执行模 2 加法。

端口

输入

全部展开

输入信号,指定为标量或向量。

  • NOT 运算符仅接受一个输入,该输入可以是标量也可以是向量。如果输入为向量,则输出为相同大小的向量,其中包含输入向量元素的按位逻辑补码。

  • 对于单个向量输入,模块会将运算(除 NOT 运算符外)应用于向量的所有元素。

  • 对于两个或更多输入,模块将在所有输入之间执行运算。如果输入为向量,模块将在对应的向量元素之间执行运算以生成向量输出。

数据类型: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

输出

全部展开

指定为输出数据类型的输出信号,模块从驱动模块继承该输出数据类型,且该数据类型必须准确表示零。满足此条件的数据类型包括有符号整数和无符号整数数据类型。

模块输出的大小取决于输入的数量、向量大小以及您选择的运算符。如果您不指定位掩码,则输出为标量。如果您指定位掩码,则输出为向量。

数据类型: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

参数

全部展开

为模块操作数指定按位逻辑运算符。

您可以选择以下按位运算之一:

按位运算说明

AND

如果对应的位全部为 TRUE,则为 TRUE

OR

如果至少一个对应的位为 TRUE,则为 TRUE

NAND

如果至少一个对应的位为 FALSE,则为 TRUE

NOR

如果没有对应的位为 TRUE,则为 TRUE

XOR

如果有奇数个对应位为 TRUE,则为 TRUE

NOT

如果输入为 FALSE,则为 TRUE(仅适用于单个输入)

编程用法

模块参数logicop
类型:字符向量
'AND'|'OR' |'NAND'|'NOR' |'XOR' | 'NOT'
默认值'AND'

选择要使用位掩码。清除此复选框将启用 Number of input ports 并禁用 Bit MaskTreat mask as

编程用法

模块参数UseBitMask
类型:字符向量
'off'|'on'
默认值'on'

指定输入的数量。您可以有多个输入端口。

依存关系

清除 Use bit mask 复选框将启用 Number of input ports 并禁用 Bit MaskTreat mask as

编程用法

模块参数NumInputPorts
类型:字符向量
:正整数
默认值'1'

指定要与单个输入关联的位掩码。此参数将值读取为十六进制值。

您可以使用位掩码设置、获取或清除输入位。

要执行...将 Operator 参数设置为...并按此方式创建位掩码...
位设置OR对您要设置为 1 的每个对应的输入位使用 1
位清除AND对您要设置为 0 的每个对应的输入位使用 0
位获取AND对您要获取的每个对应的输入位使用 1

假设您要设置 8 位输入向量的第四位。位掩码将为 00010000,对于 Bit Mask 参数,您可以将其指定为 2^4。要清除该位,位掩码将为 11101111,对于 Bit Mask 参数,您可以将其指定为 2^7+2^6+2^5+2^3+2^2+2^1+2^0

提示

不要使用大于 53 位的掩码。否则,仿真过程中将出现错误消息。

依存关系

仅当您选择 Use bit mask 时,此参数才可用。

编程用法

模块参数BitMask
类型:字符向量
:正整数
默认值'bin2dec('11011001')'

指定将掩码视为真实值还是存储的整数。

编码方案是 V = SQ + B,如 Fixed-Point Designer™ 文档中的Scaling (Fixed-Point Designer)部分所述。“Real World Value” 将掩码视为 V。“Stored Integer” 将掩码视为 Q

依存关系

仅当您选择 Use bit mask 时,此参数才可用。

编程用法

模块参数BitMaskRealWorld
类型:字符向量
'Real World Value' | 'Stored Integer'
默认值'Stored Integer'

模块特性

数据类型

Boolean[a] | fixed point | integer

直接馈通

多维信号

可变大小信号

过零检测

[a] 建议不要对布尔信号进行位运算。

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

在 R2006a 之前推出