如果 -0.0 之后的下一个可表示值是 +0.0,那么为什么 nextafter(-0.0, INFINITY) 不 return +0.0?
If the next representable value after -0.0 is +0.0, then why nextafter(-0.0, INFINITY) does not return +0.0?
如果-0.0
之后的下一个可表示值是+0.0
,那为什么nextafter(-0.0, INFINITY)
不return +0.0
?
因为 +0 不是“在”-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)
都 return DBL_TRUE_MIN
.
+0.0
和 -0.0
通常没有功能上的区别。有时他们确实会 difference.
高级:为 C2X 准备好预期的十进制浮点支持,因为有许多 decimal64 的编码集具有相同的 值 。重复使用 nextafter()
和朋友不会通过所有 FP 编码形成序列。
如果-0.0
之后的下一个可表示值是+0.0
,那为什么nextafter(-0.0, INFINITY)
不return +0.0
?
因为 +0 不是“在”-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)
都 return DBL_TRUE_MIN
.
+0.0
和 -0.0
通常没有功能上的区别。有时他们确实会 difference.
高级:为 C2X 准备好预期的十进制浮点支持,因为有许多 decimal64 的编码集具有相同的 值 。重复使用 nextafter()
和朋友不会通过所有 FP 编码形成序列。