主要内容

逻辑和位运算

hisl_0016:块计算关系运算符的使用

ID:标题 hisl_0016:块计算关系运算符的使用
描述 支持操金宝app作的鲁棒性,避免使用上的平等和不平等运营商浮点数据类型。
笔记 由于浮点精度问题,不要测试浮点表达式平等(= =)或不平等(~ =、! =)。
基本原理 提高模型的鲁棒性和防止意想不到的结果。
模型顾问检查 检查关系比较浮点信号(金宝app仿真软件检查)
引用
  • IEC 61508 - 3、表a (2)“强类型的编程语言”

    IEC 61508 - 3、表a (3)的语言子集

    IEC 61508 - 3、表各(3)“防御性编程”

  • 5.5.3 IEC 62304——软件单元验收标准

  • ISO 26262 - 6,表1 (1 b)使用的语言子集的

    ISO 26262 - 6,表1 (1 c)“强类型的执行”

  • EN 50128年,各表(11)的语言子集

    在50128年,表各(8)“强类型的编程语言”

    EN 50128表a (1)“防御性编程”

  • ——331年,部分MB.6.3.1。g算法是准确的

    ——331年,部分MB.6.3.2。g算法是准确的

  • MISRA - C: 2012, Dir 1.1

另请参阅 关系操作
最后的改变 R2021b
例子

例:1

例子——正确的

  • myDouble > 0.99 & & myDouble < 1.01;%测试范围

例子——不正确

  • myDouble = = 1.0

  • mySingle ~ = 15.0

例:2

例子——正确的

平等比较运算符不用于浮点操作数。

例子——不正确

平等比较运算符= =用于浮点操作数。

例子——正确的

测试两个浮点变量或表达式是否相等,比较两个变量对阈值的差异,考虑了浮点相对精度(eps)和数字的大小。

下面的模式显示了如何测试两个双精度输入信号,三机一体和In2平等。

例子——不正确

平等比较运算符= =用于浮点操作数

hisl_0017:使用块计算关系运算符(2)

ID:标题 hisl_0017:使用块计算关系运算符(2)
描述

支持明金宝app确的行为在生成的代码中,当使用块计算关系运算符,包括关系操作符,比较恒定的,比较为零,检测变化

一个 块参数设置输出数据类型布尔
B 关系操作符块,确认输入信号是相同的数据类型。
基本原理 A、B 金宝app支持生成的代码产生明确的行为。
模型顾问检查 检查使用关系操作符块(金宝app仿真软件检查)
引用
  • IEC 61508 - 3、表a (2)“强类型的编程语言”
    IEC 61508 - 3、表a (3)的语言子集
    IEC 61508 - 3、表各(3)“防御性编程”

  • 5.5.3 IEC 62304——软件单元验收标准

  • ISO 26262 - 6,表1 (1 b)使用的语言子集的
    ISO 26262 - 6,表1 (1 c)“强类型的执行”

  • EN 50128年,各表(11)的语言子集
    在50128年,表各(8)“强类型的编程语言”
    EN 50128表a (1)“防御性编程”

  • ——331年,部分MB.6.3.2。g算法是准确的

  • MISRA - C: 2012,规则10.1

另请参阅 hisl_0016:块计算关系运算符的使用
最后的改变 R2018a

hisl_0018:使用逻辑操作符块

ID:标题 hisl_0018:使用逻辑操作符块
描述

支持的金宝app明确的行为生成的代码,当使用逻辑运算符块,

一个

块参数设置输出数据类型布尔

B

确保输入信号的类型布尔

先决条件

hisl_0045:配置参数> >数学和数据类型实现逻辑信号作为布尔数据(与双)

基本原理 A、B 避免模棱两可的生成的代码的行为。
模型顾问检查 检查使用逻辑操作符的街区(金宝app仿真软件检查)
引用
  • ——331年,部分MB.6.3.2。g算法是准确的

  • IEC 61508 - 3、表a (2)“强类型的编程语言”
    IEC 61508 - 3、表a (3)的语言子集
    IEC 61508 - 3、表各(3)“防御性编程”

  • 5.5.3 IEC 62304——软件单元验收标准

  • ISO 26262 - 6,表1 (1 b)使用的语言子集的
    ISO 26262 - 6,表1 (1 c)“强类型的执行”

  • EN 50128年,各表(11)的语言子集
    在50128年,表各(8)“强类型的编程语言”
    EN 50128表a (1)“防御性编程”

  • MISRA - C: 2012 10.1指令

最后的改变 R2017b

hisl_0019:使用位操作

ID:标题 hisl_0019:使用位操作
描述

支持明金宝app确的行为,当使用位操作,

一个

避免逐位带符号整数数据类型的操作。

笔记

逐位操作是没有意义的有符号整数由于不可预知的行为。例如,一个移位操作可能将符号位移动到数量,或一个数字位符号位。

基本原理 一个 金宝app明确支持生成的代码的行为。
模型顾问检查 检查使用位操作的块(金宝app仿真软件检查)
引用
  • ——331年,部分MB.6.3.2。g算法是准确的

  • IEC 61508 - 3、表a (3)的语言子集
    IEC 61508 - 3、表a (2)“强类型的编程语言”

  • 5.5.3 IEC 62304——软件单元验收标准

  • ISO 26262 - 6,表1 (1 b)使用的语言子集的
    ISO 26262 - 6,表1 (1 c)“强类型的执行”
    ISO 26262 - 6,表1 (1 d)“使用防御性实现技术”

  • ISO 26262 - 6,表1 (1 d)“使用防御性实现技术”

  • EN 50128年,各表(11)的语言子集
    EN 50128表a (1)“防御性编程”
    在50128年,表各(8)“强类型的编程语言”

  • EN 50128表a (1)“防御性编程”

  • 在50128年,表各(8)“强类型的编程语言”

  • MISRA - C: 2012,规则10.1

另请参阅 hisl_0073:使用移位操作
最后的改变 R2021b