# ShiftArithmetic


对信号进行算数移位

库: Sysblock 模块库 / LogicAndBitOperation

# 描述

ShiftArithmetic 模块可以对信号做算术移位。

例如,将 sfix ( 8 ) 数据类型的输入信号算术向右和向左移动两位,将得到以下小数值。

移位运算 二进制值 十进制值
无移位(原始数字) 11001.011 -6.625
算术向左移动两位 1100101.1 -26.5
算术向右移动两位 110.01011 -1.65625

# 示例

参考模型示例

# 端口

# 输入

u — 要对其执行运算的数
标量 | 向量 | 数组

要对其执行运算的数,指定为标量、向量或数组。

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

s — 要移位的位数
标量

要移位的位数,指定为标量。

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

# 参数

# 数据和算法

二进制位移位数:源 — 要移位的位的源
对话框(默认) | 输入端口

指定是直接在对话框中输入要移动的位数,还是从输入端口继承值。

二进制位移位数:方向 — 移位的方向
双向(默认)| 左 | 右

指定移位的方向:向左、向右或双向。

二进制位移位数:数值 — 二进制位移位数
8(默认)| 标量 | 向量 | 数组

指定标量、向量或移位值数组。

如果方向为... 则...
“左”或“右” 使用正整数指定移位。
“双向” 使用正整数表示右移,使用负整数表示左移。

依赖关系:要启用此参数,请将二进制位移位数:源设置为对话框。

# 版本历史记录

  • 在 2024b 之前推出

# 另请参阅

BitwiseOperator | CompareToConstant | CompareToZero | LogicalOperator | RelationalOperator