主要内容

移位运算

转变位或二进制信号

图书馆

逻辑和位运算

  • 移位运算块

描述

金宝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
内置整数或定点
  • 的迹象u

  • 字的长度u

  • 的斜率u * 2 ^ (max(二进制点转移))

  • 偏见的u * 2 ^ (max(二进制分位转向转变)),有些变化是双向的或右的方向

  • 偏见的u * 2 ^ (max(二进制指向shift +位转移)),因为一些变化方向在哪里了

块参数支持以下数据类型:金宝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块输出。

特征

数据类型

双单| | |定点基地整数

样品时间

继承自驾车块

直接引线

是的

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

没有

代码生成

是的

扩展功能

C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app

PLC的代码生成
使用仿真软件生成结构化文本代码®PLC编码器™。金宝app

定点转换
设计和模拟使用定点定点系统设计师™。

之前介绍过的R2006a