我希望 - 如果可能的话 - 以标准 IEEE-754 格式表示和处理缺失的数据(在统计意义上)。看到对于 SNaN 和 QNaN 来说,各种位表示都是可能的,我想知道它们是否都可以从标准计算中产生,或者一些可以使除了相应的显式位存储之外的路径无法访问,因此安全并保留以表示“空槽”对于丢失的数据。
因此,首先,标准是否规定了表示 NaN 的特定行为,或者每个处理器/系统是否可以不同地对待它们?在前一种情况下,我可以做上面暗示的事情吗?(假设在 C++ 中通过 static_cast 或联合检测这些值是安全的)
IEEE 标准通常为某些未定义的操作规定 NaN,但不是特定的有效载荷。我想知道这是否有一个事实上的标准。我不在乎外部库是否每个都有自己的有效负载,但如果标准 C++ 库不一致,那就更严重了。