转换到双精度和浮点数是否保留无穷大和 NaN?

时间:2021-04-06 13:00:12

标签: c++ floating-point nan

当将双无穷投射到浮动时,反之亦然,它仍然是无穷大吗?和 NaN 一样吗?

1 个答案:

答案 0 :(得分:27)

任何浮点数转换为双精度数可以保证保留该值。如果原始值可表示为浮点数,则将双精度数转换为浮点数可以保证保留该值。

如果您的系统符合 IEEE-754,则 float 可以表示无穷大和 NaN。否则,您可以使用 <numeric_limits> 来检查是否是这种情况。双 NaN 的负载不一定用浮点 NaN 表示。