NaN在float和double之间的类型转换

4
C++标准是否定义了将float类型的NaN转换为double类型,或将double类型的NaN转换为float类型的行为,还是其结果是由具体实现定义或未定义的?我关注的实际架构是带有GCC的x86-64,但我希望能够更广泛地理解该问题。

我认为它取决于ieee754(如果实现支持它)。 - Marc Glisse
1个回答

4

在C++标准中没有明确说明NaN的转换,因此需要依靠标准转换。特别地,float可以提升为double且值不变,而将double转换为float时,如果值能够在较小类型中表示,则保持相同的值。由于两种类型都支持NaN,因此值应该仍然是NaN。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接