将 IEEE754 浮点 NaN(非数字)用于非数学原因未定义的值是一个好主意吗?
在我们的例子中,它们尚未设置,因为尚未从其他设备接收到这些值。上下文是使用 IEC1131 REAL32 值的嵌入式系统。编辑:编程语言是 C,所以我们很可能使用来自 C99 的 NAN 和 isnanf(x)。尽管我们可能需要一些额外的扭曲才能将它们放入我们的操作系统兼容层。
编程语言的默认设置似乎是用正零初始化浮点变量,其内部表示全为零。这对我们来说是不可用的,因为 0 在有效值的范围内。
使用 NaN 似乎是一个干净的解决方案,但也许它比它的价值更麻烦,我们应该选择其他值吗?