是不是这样:
- 可表示的浮点值在接近零的实数线上最密集?
- 随着数轴远离零,可表示的浮点值变得越来越稀疏(指数?)?
- 如果以上两个都是真的,那是否意味着离零更远的精度更低?
总体问题:精度是否以某种方式指代或取决于您可以(准确地)表示的数字密度?
是不是这样:
总体问题:精度是否以某种方式指代或取决于您可以(准确地)表示的数字密度?
术语精度通常是指表示值中有效数字(位)的数量。因此精度随表示的尾数中的位数(或位数)而变化。与原点的距离没有任何作用。
你所说的关于实线上的浮动密度是正确的。但在这种情况下,正确的术语是准确度,而不是精确度。小幅度的 FP 数字比大的要准确得多。这与整数形成对比,整数在其范围内具有统一的精度。
我强烈推荐这篇论文What Every Computer Scientist Should Know About Floating Point Arithmetic,它涵盖了这一点以及更多内容。
浮点数基本上以科学计数法存储。只要它们被标准化,它们就始终具有相同数量的有效数字,无论您在数轴上的哪个位置。
如果您以线性方式考虑密度,那么当您接近 0 时,浮点数的密度会呈指数级增长。
当您非常接近 0,并且指数达到最低点时,浮点数变得非规范化。此时,它们有 1 个额外的有效数字,因此更精确。
答案:
总体问题:精度是否以某种方式指代或取决于您可以(准确地)表示的数字密度?
可表示的浮点值在接近零的实数线上最密集?
在 IEEE 754 浮点的完整实现中是的。
但是,在不支持次正规的系统中,零附近存在一个间隙,该间隙远大于最小非零值和第二小的非零值之间的差值。
随着数轴远离零,可表示的浮点值变得越来越稀疏(指数?)?
是的,每次该值通过 2 的幂时,相邻值之间的差距就会加倍。
如果以上两个都是真的,那是否意味着离零更远的精度更低?
这取决于您如何准确定义“精度”,可以从相对意义上(“重要数字”)或绝对意义上(“小数位”)谈论精度。
哪个更合适取决于这些数字的确切用途。如果浮点数用于坐标或时间戳等内容,则远离零时的精度损失往往会成为一个真正的问题。