我正在编写一个带有 GMP 及其任意精度浮点数的 C 库。我需要砍掉“小数字”,但我不知道如何确定什么是小数字。
假设我将 GMP 浮点数 (mpf_t) 的精度设置为 n 位。那么在计算中什么被认为是小的呢?
对于任何可能熟悉 GSL(GNU 科学图书馆)的人,我需要与他们的 GSL_DBL_EPSILON 等效的版本,在我的 32 位计算机上,它恰好是 2.2204460492503131e-16。
在此先感谢,j。
我想我找到了这个神奇的数字:它是 2 ^{-(bits of significand precision)},详见Wikipedia article。