如果 -0.0
之后的下一个可表示值是 +0.0
,那么为什么 nextafter(-0.0, INFINITY)
不返回 +0.0
?
最佳答案
If the next representable value after -0.0 is +0.0 ....
错误前提。
-0.0
和 +0.0
具有相同的值。
if (-0.0 == +0.0)
为 true。
nextafter()
“函数确定下一个可表示的值”(C17dr § 7.12.11.3 2)
nextafter(-0.0, INFINITY)
和 nextafter(+0.0, INFINITY)
都返回 DBL_TRUE_MIN
。
+0.0
和 -0.0
通常没有功能上的区别。有时他们确实会制作 difference .
高级:为 C2X 做好准备,因为有许多 decimal64 的编码集,因此具有预期的十进制浮点支持。具有相同的值。重复使用 nextafter()
和 friend 不会通过所有 FP 编码形成序列。
关于c - 如果 -0.0 之后的下一个可表示值是 +0.0,那么为什么 nextafter(-0.0, INFINITY) 不返回 +0.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68161103/