【发布时间】:2021-06-28 09:44:38
【问题描述】:
如果-0.0之后的下一个可表示值是+0.0,那么为什么nextafter(-0.0, INFINITY)不返回+0.0?
【问题讨论】:
-
返回什么?
-
为什么要这样?我没有看到逻辑。
-
基本上,我建议
-0.0和+0.0代表 same 值。 From cppreference:IEC 60559 建议只要 from==to 就返回 from。这些函数改为返回,这使得零附近的行为保持一致:std::nextafter(-0.0, +0.0) 返回 +0.0 和 std::nextafter(+0.0, -0.0) 返回 -0.0。跨度> -
@AdrianMole 你应该把它写成答案
-
@klutt Meh。也许 Sneftel 可以使用它来编辑他们的答案,这基本上是同一点。
标签: c floating-point c11 math.h c17