相关疑难解决方法(0)

对于未设置的值,使用IEEE754浮点NaN是一个好主意吗?

对于非数学原因未定义的值,使用IEEE754浮点NaN(非数字)是一个好主意吗?

在我们的情况下,它们尚未设置,因为尚未从其他设备接收到值.上下文是使用IEC1131 REAL32值的嵌入式系统.编辑:编程语言是C,所以我们很可能使用来自C99的NAN和isnanf(x).虽然我们可能需要一些额外的扭曲来将这些扭曲到我们的操作系统兼容性层中.

编程语言中的默认设置似乎是初始化具有正零的浮点变量,其内部表示全为零.这对我们来说是不可用的,因为0在有效值的范围内.

使用NaN似乎是一个干净的解决方案,但也许它比它的价值更麻烦,我们应该选择其他一些价值?

c floating-point initialization nan undefined

13
推荐指数
1
解决办法
2232
查看次数

NaN 作为特殊参数

我正在写一个小库,你可以在其中设置范围;起点和终点是双精度的。该库具有该范围的一些内置或计算的默认值,但是一旦通过范围设置函数设置了它们,就无法返回到默认值。

因此我喜欢做的就是使用NaN值作为使用默认值的指示符,但是我没有找到NaN的任何标准定义,并且阅读gcc手册它说有不支持NaN的平台。

我的问题是:

是否有不使用 IEEE 754 浮点数的最新平台?我不关心一些模糊的嵌入式设备,因为该库专注于带有 GUI 的平台,准确地说是 cairo。

第二个问题你会使用 NaN 值作为参数来达到这样的目的吗?我在标题中的某个位置定义它没有问题。

c

2
推荐指数
1
解决办法
537
查看次数

标签 统计

c ×2

floating-point ×1

initialization ×1

nan ×1

undefined ×1