主要内容

Bit Shift

输入信号的逻辑或算术移位

  • Bit Shift block

库:
HDL Coder / Logic and Bit Operations

描述

Bit Shift 模块对输入信号执行逻辑或算术移位。

此模块在仿真和 HDL 代码生成行为方面与 Shift Arithmetic 模块不同。Bit Shift 模块可以执行有符号数的逻辑移位,而不必执行 reinterpretcast 运算。此模块使用基于 MATLAB Function 模块的实现,并且运算速度可能较慢。

Shift Arithmetic 模块移动输入数字的位或二进制小数点。与 Bit Shift 模块相比,此模块具有用于 HDL 代码生成的额外模块选项。当您要执行变量移位运算时,请使用 Shift Arithmetic 模块而不是 Bit Shift 模块。如果您以有符号数作为输入,该模块会执行该数的符号扩展。Shift Arithmetic 模块要求使用额外的已选择存储的整数(SI) 选项的 Data Type Conversion 模块。

端口

输入

全部展开

对其执行逻辑或算术移位的输入信号。

  • 最小位宽:2

  • 最大位宽:128

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

输出

全部展开

经过逻辑或算术移位的输出信号。输出信号具有与输入信号相同的数据类型和位宽。

  • 最小位宽:2

  • 最大位宽:65535

参数

全部展开

指定移位的类型和方向。

编程用法

模块参数:mode
类型:字符串标量 | 字符向量
值:"Shift Left Logical" | "Shift Right Logical" | "Shift Right Arithmetic"
默认值: 'Shift Left Logical'

指定要移位的位数。指定大于或等于零的值。

编程用法

模块参数:N
类型:字符串标量 | 字符向量
值:大于或等于零的值
默认值: '0'

扩展功能

全部展开

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

版本历史记录

在 R2014a 中推出

全部展开

另请参阅

模块