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