“向下舍入”应如何处理无符号 minifloat 实现中的负结果?

问题描述 投票:0回答:1

我正在开发 Minifloat 实现,并且不确定如何在向下舍入时处理负结果(又名“圆底”或“向 -∞ 舍入”)并且没有符号位。

即在最简单的情况下,一个 0.1.1 minifloat(值为

{0, 1, Infinity, NaN}
),我假设
0 - 1
(或与此相关的任何其他负结果)在向上舍入时将评估为
0
,但如果我们使用“向下取整”规则,应该是
0
还是
NaN

编辑:为了澄清起见,在我的例子中,我主要感兴趣的是将更高精度的数字四舍五入到较小子集的“最正确”元素。另外,从标题中删除了“IEEE 754”,因为这是非标准的。

ieee-754 minifloat
1个回答
0
投票

在无符号 minifloat 实现中向下舍入时,负结果应被视为 minifloat 的最小可表示值。

无符号小浮点可以表示 0 到最大可表示值之间的数字,没有符号位。因此,负数不能直接用无符号小浮点数表示。

向下舍入时,负结果应被视为最小可表示值。这意味着任何负结果都将向下舍入为 0,因为这是 minifloat 中可以表示的最小值。

例如,如果 minifloat 的精度为 3 位且范围为 0 到 7,则向下舍入 -2 将得到 0。

需要注意的是,无符号小浮点并不是为了表示负数而设计的,这种舍入行为只是在实现中处理负结果的一种解决方法。

© www.soinside.com 2019 - 2024. All rights reserved.