移位运算
转变位或二进制信号
图书馆
逻辑和位运算
描述
金宝app支持业务转移
移位运算块可以把比特或二进制输入信号,或两者兼而有之。
例如,将二进制输入的数据类型sfix (8)
两个地方向左和向右,给这些十进制值。
移位操作 | 二进制值 | 十进制值 |
---|---|---|
没有转移(原始编号) |
11001.011 |
-6.625 |
二进制转变在两个地方 |
1100101.1 |
-26.5 |
二进制点转变留下的两个地方 |
110.01011 |
-1.65625 |
这一块对数字签署执行算术有些变化。因此,最重要的一点一点为每个块回收的转变。将输入的数据类型sfix (8)
两个地方向左和向右,给这些十进制值。
移位操作 | 二进制值 | 十进制值 |
---|---|---|
没有转移(原始编号) |
11001.011 |
-6.625 |
转变在两个地方 |
11110.010 |
-1.75 |
两个地方留下一点转变 |
00101.100 |
5.5 |
数据类型支持金宝app
块支持输入信号的数据金宝app类型如下:
输入信号 | 金宝app支持的数据类型 |
---|---|
u |
|
年代 |
|
下面的规则决定了输出数据类型:
数据类型的输入 | 输出数据类型 |
---|---|
浮点 | 同样作为输入u |
内置整数或定点 |
|
块参数支持以下数据类型:金宝app
参数 | 金宝app支持的数据类型 |
---|---|
位转变:号码 |
|
二进制点转移 |
|
有关更多信息,请参见数据类型支持的仿真软件金宝app金宝app。
参数
- 位转移:来源
-
指定是否要进入位将在对话框或继承的值从输入端口。
- 位转变:方向
-
指定的方向转变:左,右,或者双向的。
- 位转变:号码
-
指定一个标量、向量或移位值的数组。这个参数时可用位转移:来源是
对话框
。如果方向是…… 然后…… 左
或正确的
使用正整数指定一些转变。 双向
使用正确的转变正整数和负整数变化。 - 二进制点转移
-
指定一个整数的地方将二进制输入信号。正值表示右移,而一个负值表示左移。
- 诊断为超出范围转移价值
-
指定是否在模拟时产生警告或错误块包含一个值超出范围转变。选项包括:
没有一个
——金宝app仿真软件®软件不采取任何行动。警告
——金宝app软件显示一个警告,继续仿真模型。错误
——金宝app模型软件终止模拟和显示一个错误
有关更多信息,请参见仿真和加速器模式结果超出范围变化值。
- 检查超出范围的碎片将生成的代码
-
选中此复选框后,条件语句包含在生成的代码,防止超出范围变化值。此复选框时可用位转移:来源是
输入端口
。有关更多信息,请参见代码生成的值超出范围一点转变。
超出范围有些变化
定义一个超出范围的转变
假设王
是输入单词长度。下图中的阴影区域显示超出范围为左和右移位值变化。
同样,下图中的阴影区域显示超出范围为双向移位值变化。
诊断为超出范围变化响应如下,根据经营方式:
模式 | 诊断为超出范围转移价值 | ||
---|---|---|---|
没有一个 | 警告 | 错误 | |
模拟模式 | 不报告任何警告或错误。 | 报告警告,但继续模拟。 | 报告错误并停止模拟。 |
代码生成 | 没有效果。 |
仿真和加速器模式结果超出范围变化值
假设U
是输入,王
输入单词长度,Y
是输出。超出范围的输出为左移位值变化如下:
同样,超出范围的输出正确的移位值变化如下:
双向转移,超出范围的输出位移值如下:
代码生成的值超出范围一点转变
生成的代码的方法处理超出范围变化取决于的设置检查超出范围的碎片将生成的代码。
复选框设置 | 生成的代码 | 仿真结果而生成的代码 |
---|---|---|
选择 |
包括条件语句来防止超出范围变化值。 |
仿真和加速器模式结果匹配的代码生成。 |
清除 |
没有防止超出范围变化值。 |
|
正确的转变在签署负输入,大多数C编译器使用一个算术转变,而不是逻辑的转变。移位运算生成的代码块取决于这个编译器的行为。
例子
块输出正确的转变
以下模型比较正确的行为一点变化使用对话框和块的输入端口。
关键块固定块的参数设置:
块 | 参数 | 设置 |
---|---|---|
常数 和Constant1 |
恒定值 | 124年 |
输出数据类型 | int8 |
|
动态移位 |
恒定值 | 2 |
输出数据类型 | 继承:继承的恒定值 |
关键块移位运算块的参数设置:
块 | 参数 | 设置 |
---|---|---|
一些从对话框 |
位转移:来源 | 对话框 |
位转变:方向 | 正确的 |
|
位转变:号码 | 2 |
|
从输入一些转变 |
位转移:来源 | 输入端口 |
位转变:方向 | 正确的 |
顶部移位运算块需要一个输入124,对应于01111100的二进制格式。把右边的两个地方的比特数产生00011111的二进制格式。因此,块输出31。
底部移运算块执行相同的操作块顶部。然而,底部块接收移位值通过一个输入端口,而不是对话框。通过提供这个值作为输入信号,你可以改变的比特数将在模拟。
块输出二进制点变化
以下模型显示二进制点变化的影响。
关键块固定块的参数设置:
块 | 参数 | 设置 |
---|---|---|
常数 和Constant1 |
恒定值 | 124年 |
输出数据类型 | int8 |
关键块移位运算块的参数设置:
块 | 参数 | 设置 |
---|---|---|
二进制第3点的地方转移到右边 |
位转移:来源 | 对话框 |
位转变:方向 | 双向 |
|
位转变:号码 | 0 |
|
二进制指出转变:号码 | 3 |
|
二进制第3点的地方转移到左边 |
位转移:来源 | 对话框 |
位转变:方向 | 双向 |
|
位转变:号码 | 0 |
|
二进制指出转变:号码 | - - - - - -3 |
顶部移位运算块需要一个输入124,对应于01111100的二进制格式。二点三个地方转向正确的生产01111100000二进制格式。因此,995块输出。
移位运算块底部也需要一个输入124。二点三个地方转向左边产生01111.100二进制格式。因此,底部15.5块输出。
特征
数据类型 |
双单| | |定点基地整数 |
样品时间 |
继承自驾车块 |
直接引线 |
是的 |
多维信号 |
没有 |
适应信号 |
没有 |
讨论二阶导数过零检测 |
没有 |
代码生成 |
是的 |