标签: c++ casting floating-point double standards
c ++标准是否定义了将NaN从float转换为double的行为,反之亦然,或者这样的结果是实现定义的还是未定义的?
NaN
我务实关注的体系结构是x86-64与GCC,但我对更广泛的理论理解表示赞赏。
答案 0 :(得分:3)
C ++标准中没有明确的解决NaN转换的问题,因此您必须依赖标准转换。特别是,浮点数可以提升为double,值不变,如果可以用较小的类型表示,则转换为浮点数的双精度值将具有相同的值。由于两种类型都支持NaN,因此该值应保持为NaN。