C++ 理解浮点精度
是否有以下情况:C++ 理解浮点精度,c++,floating-point,floating-point-precision,C++,Floating Point,Floating Point Precision,是否有以下情况: 可表示的浮点值在接近零的实数行中最密集 当数字线从零开始移动时,可表示的浮点值变得更稀疏(指数?) 如果上述两个都是真的,这是否意味着离零越远,精度越低 总体问题:精度在某种程度上是指或取决于你能(准确地)表示的数字的密度吗?浮点数基本上是用科学记数法存储的。只要它们是标准化的,它们就始终具有相同数量的有效数字,无论您在数字行的何处 如果你考虑密度是线性的,那么浮点数在接近0时指数增大, 当你非常接近于0,并且指数达到它的最低点时,浮点数就会被反规范化。此时,它们有一个额外的有
总体问题:精度在某种程度上是指或取决于你能(准确地)表示的数字的密度吗?浮点数基本上是用科学记数法存储的。只要它们是标准化的,它们就始终具有相同数量的有效数字,无论您在数字行的何处
如果你考虑密度是线性的,那么浮点数在接近0时指数增大,
当你非常接近于0,并且指数达到它的最低点时,浮点数就会被反规范化。此时,它们有一个额外的有效数字,因此更精确。术语精度通常指表示值中的有效位数(位)。因此,精度随表示尾数中的位数(或位数)而变化。与原点的距离不起作用 你所说的关于实线上浮点数的密度是正确的。但在这种情况下,正确的术语是准确性,而不是精确性。小数量级的FP数比大数量级的FP数精确得多。这与整数形成对比,整数在其范围内具有一致的精度 我强烈推荐这篇论文,它涵盖了这一点以及更多内容 答案:
我还建议您是的,您的理解是正确的。我的理解是,所有可表示数字的精度大致相同(例如,指定值的位数)。但是,当远离零点时,精度会降低。“精度”可以指绝对精度,对于浮点数而言,绝对精度有机会更好地接近零点,或者指相对精度,对于浮点数而言,相对精度有机会保持一致。我认为,“精确性”和“精确性”之间的区别更多地与“你拥有的位数”和(某种计算)对它们的作用”有关。计算结果可以用24位精度的二进制数字表示,但由于复合误差,其(相对)精度仅为2^-20。