假设您有一个浮点类型的变量。32 位或 64 位并不重要。
为变量分配最大可表示值。典型的编程语言都有一个常量。
如何确定必须添加到变量中的最小值,以使其“捕捉”到无穷大?
我知道C、Rust 等中的nextafter*
和之类的函数。它们是相关的,但是没有给我我需要的值。nexttoward*
next_up
假设您有一个浮点类型的变量。32 位或 64 位并不重要。
为变量分配最大可表示值。典型的编程语言都有一个常量。
如何确定必须添加到变量中的最小值,以使其“捕捉”到无穷大?
我知道C、Rust 等中的nextafter*
和之类的函数。它们是相关的,但是没有给我我需要的值。nexttoward*
next_up
这是 C 语言中的 的解决方案。
float
它使用FLT_ROUNDS
,这可能会在程序执行期间发生变化。如果程序这样做,此代码应该使用#pragma STDC FENV_ACCESS ON
来通知编译器它依赖于浮点环境。