Main Content

定标、精度和范围

定点值的动态范围小于字长相同的浮点值。为避免溢出并最大限度地减少量化误差,必须对定点数进行定标。

定标

使用 Fixed-Point Designer™,您可以选择由二进制小数点来定义定标的定点数据类型,您也可以选择适合您需要的任意线性定标。

斜率和偏置定标

您可以通过一般的斜率和偏置编码方案来表示定点数。斜率偏置定标数的真实值可以表示为:

real-world value=(slope×integer)+bias

slope=slope adjustment factor×2fixed exponent

斜率和偏置一起表示定点数的定标。在零偏置的数字中,只有斜率影响定标。仅由二进制小数点位置定标的定点数相当于以偏置为零、斜率调整因子为 1 的 [斜率 偏置] 表示的数。这称为二进制小数点定标或二次幂定标:

二进制小数点定标

二进制小数点或二次幂定标涉及在定点字内移动二进制小数点。这种定标模式的优点是最大程度减少了处理器算术运算的数量。二进制小数点定标数的真实值可以表示为:

real world value=2fraction length×integer

精度

定点数的精度是其数据类型和定标可表示的连续值之间的差值,等于其最低有效位的值。最低有效位的值(因此也是数字的精度)由小数位数决定。定点值的误差小于等于其数据类型和定标所确定精度的一半。

例如,二进制小数点右侧具有四位的定点表示的精度为 2-4(即 0.0625),这是其最低有效位的值。此数据类型和定标范围内的任何数字的误差都小于等于 (2-4)/2(即 0.03125),即精度的一半。

舍入方法

当您以有限精度表示数字时,并非可用范围内的每个数字都可以精确表示。如果数字不能由指定的数据类型和定标精确表示,则使用舍入方法将该值转换为可表示的数字。虽然在舍入操作中始终会丢失一定的精度,但带来的操作成本和偏置量取决于舍入方法本身。有关对 Fixed-Point Designer 可用的舍入方法的详细信息,请参阅舍入方法 (Fixed-Point Designer)

范围

范围是定点数据类型和定标可以表示的数字范围。下图说明了字长值为 ws、定标值为 S 和偏置值为 B 的无符号 2 的补码定点数的可表示范围:

下图说明有符号的 2 的补码定点数的可表示范围:

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

例如,采用 2 的补码方法时,需要表示负数和零,因此最大值为 2wl-1-1。由于零只有一种表示,因此正数和负数的数量不相等。这意味着存在一个 -2wl-1 的表示,但没有 2wl-1 的表示。

相关主题