主要内容gydF4y2Ba

定点概念和术语gydF4y2Ba

定点数据类型gydF4y2Ba

在数字硬件中,数字是以二进制字存储的。二进制字是由位(1和0)组成的固定长度序列。硬件组件或软件功能解释这个1和0的序列的方式是由数据类型定义的。gydF4y2Ba

二进制数可以表示为浮点数或定点数据类型。在本节中,我们将讨论与定点数、数据类型和数学有关的许多术语和概念。gydF4y2Ba

定点数据类型的特征是:以位为单位的字长、二进制点的位置以及可以有符号或无符号的数字的有符号性。有符号数字和数据类型可以表示正值和负值,而无符号数字和数据类型只能表示大于或等于零的值。gydF4y2Ba

二进制点的位置是对定点值进行缩放和解释的方法。gydF4y2Ba

例如,广义定点数(有符号或无符号)的二进制表示如下所示:gydF4y2Ba

在哪里gydF4y2Ba

  • bgydF4y2Ba我gydF4y2Ba是gydF4y2Ba我gydF4y2BathgydF4y2Ba二进制数字。gydF4y2Ba

  • 王gydF4y2Ba是二进制字的位数,也称为字长。gydF4y2Ba

  • bgydF4y2Ba王gydF4y2Ba1gydF4y2Ba是最高有效位或最高位(MSB)的位置。在有符号二进制数中,这个位是符号位,表示这个数是正的还是负的。gydF4y2Ba

  • bgydF4y2Ba0gydF4y2Ba最低有效位(LSB)的位置。二进制字中的该位可以表示最小值。LSB的重量由下式给出:gydF4y2Ba

    wgydF4y2Ba egydF4y2Ba 我gydF4y2Ba ggydF4y2Ba hgydF4y2Ba tgydF4y2Ba lgydF4y2Ba 年代gydF4y2Ba BgydF4y2Ba =gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba fgydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba cgydF4y2Ba tgydF4y2Ba 我gydF4y2Ba ogydF4y2Ba ngydF4y2Ba lgydF4y2Ba egydF4y2Ba ngydF4y2Ba ggydF4y2Ba tgydF4y2Ba hgydF4y2Ba

    在那里,gydF4y2Ba断裂长度gydF4y2Ba是二进制位右边的位数。gydF4y2Ba

  • 二进制点左侧的位是整数位和/或符号位,二进制点右侧的位是分数位。二进制点左边的位数称为整数长度。本例中的二进制点显示在LSB左侧的四个位置。因此,该数字被称为具有四个分数位,或四的分数长度。gydF4y2Ba

定点数据类型可以是有符号的,也可以是无符号的。gydF4y2Ba

有符号二进制定点数通常用三种方式之一表示:gydF4y2Ba

  • 符号/幅度–有符号定点或浮点数的表示。在符号/幅度表示法中,二进制字的一位始终是专用符号位,而字的其余位编码数字的幅度。使用符号/幅度表示法的求反包括将符号位从0翻转(正)到1(负),或从1到0。gydF4y2Ba

  • 一个人的补充gydF4y2Ba

  • 2的补码——2的补码是有符号定点数最常见的表示。看到gydF4y2Ba二进制补码gydF4y2Ba了解更多信息。gydF4y2Ba

无符号定点数只能表示大于等于零的数。gydF4y2Ba

扩展gydF4y2Ba

在[Slope Bias]表示中,可以根据方案对定点数字进行编码gydF4y2Ba

rgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba -gydF4y2Ba wgydF4y2Ba ogydF4y2Ba rgydF4y2Ba lgydF4y2Ba dgydF4y2Ba vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba (gydF4y2Ba 年代gydF4y2Ba lgydF4y2Ba ogydF4y2Ba pgydF4y2Ba egydF4y2Ba ×gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba tgydF4y2Ba egydF4y2Ba ggydF4y2Ba egydF4y2Ba rgydF4y2Ba )gydF4y2Ba +gydF4y2Ba bgydF4y2Ba 我gydF4y2Ba 一个gydF4y2Ba 年代gydF4y2Ba

斜率可以表示为gydF4y2Ba

年代gydF4y2Ba lgydF4y2Ba ogydF4y2Ba pgydF4y2Ba egydF4y2Ba =gydF4y2Ba 年代gydF4y2Ba lgydF4y2Ba ogydF4y2Ba pgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba dgydF4y2Ba jgydF4y2Ba ugydF4y2Ba 年代gydF4y2Ba tgydF4y2Ba 米gydF4y2Ba egydF4y2Ba ngydF4y2Ba tgydF4y2Ba ×gydF4y2Ba 2gydF4y2Ba egydF4y2Ba xgydF4y2Ba pgydF4y2Ba ogydF4y2Ba ngydF4y2Ba egydF4y2Ba ngydF4y2Ba tgydF4y2Ba

术语gydF4y2Ba斜率调整gydF4y2Ba有时是分数斜率的同义词。gydF4y2Ba

在一般情况下,斜率= 1,偏差= 0。对于纯整数(如int8)以及真正的浮点类型单和双精度浮点类型,缩放总是很简单的。gydF4y2Ba

这个整数有时被称为gydF4y2Ba存储整数gydF4y2Ba这是原始二进制数,其中二进制点假设在单词的最右边。在系统工具箱中,指数的负数通常称为gydF4y2Ba部分长度gydF4y2Ba.gydF4y2Ba

斜率和偏差一起表示定点数的比例。在一个零偏差的数字中,只有斜率影响缩放。一个仅按二进制点位置缩放的定点数字,相当于定点设计师™[斜率偏差]表示中的一个偏差为零、斜率调整为1的数字。这被称为二进制单点缩放或2的幂缩放:gydF4y2Ba

rgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba -gydF4y2Ba wgydF4y2Ba ogydF4y2Ba rgydF4y2Ba lgydF4y2Ba dgydF4y2Ba vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba 2gydF4y2Ba egydF4y2Ba xgydF4y2Ba pgydF4y2Ba ogydF4y2Ba ngydF4y2Ba egydF4y2Ba ngydF4y2Ba tgydF4y2Ba ×gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba tgydF4y2Ba egydF4y2Ba ggydF4y2Ba egydF4y2Ba rgydF4y2Ba

或gydF4y2Ba

rgydF4y2Ba egydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba -gydF4y2Ba wgydF4y2Ba ogydF4y2Ba rgydF4y2Ba lgydF4y2Ba dgydF4y2Ba vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba fgydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba cgydF4y2Ba tgydF4y2Ba 我gydF4y2Ba ogydF4y2Ba ngydF4y2Ba lgydF4y2Ba egydF4y2Ba ngydF4y2Ba ggydF4y2Ba tgydF4y2Ba hgydF4y2Ba ×gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba tgydF4y2Ba egydF4y2Ba ggydF4y2Ba egydF4y2Ba rgydF4y2Ba

在系统工具箱软件中,通过指定数量的字长和分数长度,可以为输出或多个块的参数定义定点数据类型和比例。字长和分数长度定义了仅二进制点信号的全部数据类型和缩放信息。gydF4y2Ba

所有支持定点数据类型的系统工具箱块都支持仅使用二进制点缩放的信金宝app号。许多不执行算术运算但仅重新排列数据的定点块,如延迟和矩阵转置,也支持具有[斜率偏差]缩放的信号。gydF4y2Ba

精度和范围gydF4y2Ba

必须注意为模拟中的块选择的定点数据类型和缩放的精度和范围,以便了解是否将调用舍入方法或是否会发生溢出。gydF4y2Ba

范围gydF4y2Ba

范围是定点数据类型和缩放可以表示的数字范围。字长为二的补码定点数的可表示数的范围gydF4y2Ba王gydF4y2Ba、缩放gydF4y2Ba年代gydF4y2Ba和偏见gydF4y2BaBgydF4y2Ba如下所示:gydF4y2Ba

对于任何数据类型的有符号和无符号定点数,不同的位模式数为2gydF4y2Ba王gydF4y2Ba.gydF4y2Ba

例如,在2的补码中,必须同时表示负数和0,所以最大值是2gydF4y2Bawl-1gydF4y2Ba.因为零只有一种表示方式,所以正数和负数的数目是不相等的。这意味着-2有一个表示gydF4y2Bawl-1gydF4y2Ba但对于2人就不是这样了gydF4y2Bawl-1gydF4y2Ba:gydF4y2Ba

完整范围是数据类型的最宽范围。对于浮点类型,完整范围为-∞ 到∞. 对于整数类型,完整范围是该类型可以表示的从最小到最大整数值(有限)的范围。例如,对于有符号8位整数,从-128到127。gydF4y2Ba

溢出处理。gydF4y2Ba由于定点数据类型表示有限范围内的数字,如果操作的结果大于或小于该范围内的数字,则可能发生溢出。gydF4y2Ba

“系统工具箱”软件不允许动态地向数据类型添加保护位以避免溢出。保护位是硬件寄存器或软件模拟中的额外位,它们被加到二进制字的高端,以确保在溢出时信息不丢失。任何保护位都必须在模型初始化时分配。然而,该软件允许您任意选择gydF4y2Ba浸透gydF4y2Ba或gydF4y2Ba包装gydF4y2Ba溢出。饱和将正溢出表示为所用范围内的最大正数,将负溢出表示为所用范围内的最大负数。包装使用模运算将溢出强制转换回数据类型的可表示范围。看见gydF4y2Ba模运算gydF4y2Ba了解更多信息。gydF4y2Ba

精确gydF4y2Ba

定点数字的精度是由其数据类型表示的连续值与比例之间的差,等于其最低有效位的值。最小有效位的值,以及数字的精度,是由小数位数决定的。一个定点值可以表示为其数据类型和缩放精度的一半以内。术语解析有时用作此定义的同义词。gydF4y2Ba

例如,在二进制点右侧有4位的定点表示的精度为2gydF4y2Ba-4gydF4y2Ba或0.0625,这是其最低有效位的值。在这个数据类型和缩放范围内的任何数字都可以表示为(2gydF4y2Ba-4gydF4y2Ba)/2或0.03125,这是精度的一半。这是一个用有限精度表示数字的示例。gydF4y2Ba

舍入模式。gydF4y2Ba当您以有限精度表示数字时,并非所有可用范围内的数字都可以精确表示。如果数字不能用指定的数据类型和比例精确表示,则为gydF4y2Ba圆形的gydF4y2Ba一个可代表的数字。虽然在舍入操作中总是会丢失精度,但操作的成本和引入的偏差量取决于舍入模式本身。为了在成本和偏差之间提供更大的灵活性,DSP系统工具箱™ 软件当前支持以下舍入模式:金宝appgydF4y2Ba

  • 天花板gydF4y2Ba将计算结果按正无穷方向舍入到最接近的可表示数。gydF4y2Ba

  • 会聚性的gydF4y2Ba将计算结果四舍五入到最接近的可表示数。如果是平局,gydF4y2Ba会聚性的gydF4y2Ba四舍五入到最接近的偶数。这是工具箱提供的最小偏置四舍五入模式。gydF4y2Ba

  • 地板上gydF4y2Ba,相当于截断,将计算结果四舍五入到负无穷方向上最接近的可表示数。截断操作的结果是从数字中删除一个或多个最低有效位。gydF4y2Ba

  • 最近的gydF4y2Ba将计算结果四舍五入到最接近的可表示数。如果是平局,gydF4y2Ba最近的gydF4y2Ba按正无穷方向舍入到最近的可表示数。gydF4y2Ba

  • 轮gydF4y2Ba将计算结果四舍五入到最接近的可表示数。如果是平局,gydF4y2Ba轮gydF4y2Ba将正数舍入到正无穷方向上最近的可表示数,将负数舍入到负无穷方向上最近的可表示数。gydF4y2Ba

  • 简单的gydF4y2Ba使用舍入模式将计算结果舍入(gydF4y2Ba地板上gydF4y2Ba或gydF4y2Ba零gydF4y2Ba),从而为生成的代码添加最少的额外四舍五入代码。有关更多信息,请参见gydF4y2Ba舍入模式:最简单gydF4y2Ba(定点设计师)gydF4y2Ba.gydF4y2Ba

  • 零gydF4y2Ba将计算结果四舍五入到零方向上最接近的可表示数。gydF4y2Ba

要了解有关每种舍入模式的详细信息,请参阅gydF4y2Ba舍入gydF4y2Ba(定点设计师)gydF4y2Ba.gydF4y2Ba

有关舍入模式的直接比较,请参见gydF4y2Ba选择舍入法gydF4y2Ba(定点设计师)gydF4y2Ba.gydF4y2Ba