【问题标题】:What is the reason behind precision and scale naming? [closed]精度和比例命名背后的原因是什么? [关闭]
【发布时间】:2018-11-03 19:36:53
【问题描述】:

我很难理解为什么在数据库类型中以这种方式调用精度和规模。

我对精度和规模的看法不同。

在我看来的精确度

对我来说,精确度是右侧有多少位数。例如,1 不如 1,0001 精确。

以我的观点衡量

规模将是一个数字可以上升或下降多少。 例如 0 - 10000 - 10 更大。 甚至 0 - 1,00 - 1 更大。

数据库中的精度和规模

但在数据库词典中它有不同的含义,精度是数字中的位数总和,右边是位数。

我总是忘记这两个词的意思,因为我无法理解它们。

希望你们能帮助我,理解为什么他们被这样称呼

【问题讨论】:

  • 这可能会被视为 SO 的主题。归根结底,这就是他们所说的。你不会质疑为什么苹果被称为苹果;这就是它的名字。无论谁为numeric 的参数选择名称,这就是他们选择的名称。
  • 认为“重要数字”表示精度,“10 的幂除以”表示比例(例如,将数字 缩放多少,而不是缩放多少代表自己)。命名这些东西的人可能更多地考虑了实施。
  • 一些数据库甚至使用“位”而不是“十进制数字”的精度和比例——只是想增加混乱。
  • 也许维基百科可以提供一些启示en.wikipedia.org/wiki/Floating-point_arithmetic——尽管“比例”与“指数”相关。
  • 我投票决定将此问题作为题外话结束,因为你会得到想出这个名字的人。

标签: sql sql-server oracle sybase


【解决方案1】:

如果考虑科学计数法中的数字可能会更容易。

X * 10^Y

X 在小数点前有一位数。

现在,这个数字有多大(它的“规模”)基本上由Y 决定。我们在计算吗?百万?千分之一?这就是规模。

无论数字的绝对比例如何,X 中的数字决定了我们的精确度。我可以区分 1.1 和 1.2 吗?我能区分 110 万和 120 万吗?我可以区分千分之 1.1 和千分之 1.2 吗?所有都是等价的 - 两位数(包括小数点前一位)的精度。

如果我能区分 101 万和 100 万,那比只能区分 10 万更精确;这是 3 位数的精度。

但是 1.01*10^-3 比 1.01*10^10 更精确;它只是以较小的规模运作。

除此之外,我不知道你想要什么。好的,你已经告诉我们你想要这些词的意思了;但这不是他们的意思。这就是他们的意思。


更新 - 我应该提到的另一件事。规模和精度似乎在某种程度上混为一谈,因为如果我们举一个物理示例,肯定“距离靶心 1 毫米”比“距离靶心 1 米”更精确,对吧?

但请记住,精度和比例描述的是变量的数据类型,而不是特定的度量。如果以米为单位测量,我们不能表示“距离靶心 1 毫米”,精度低于 4 位(“0.001 米”);但我们可以用 1 位精度来描述“距离靶心 1 米”。所以这实际上与我们希望以某种方式更精确地调用“距离靶心 1 毫米”的愿望相一致。

【讨论】:

  • 我没有告诉我想要这些词的意思,我告诉了我对这些词的理解。并寻求帮助以找到该域的正确含义。你积极贡献的东西,以及评论部分的其他人。谢谢:)
猜你喜欢
  • 2013-03-23
  • 1970-01-01
  • 2010-11-03
  • 1970-01-01
  • 2011-06-20
  • 1970-01-01
  • 2019-12-24
  • 2018-08-31
  • 2020-01-26
相关资源
最近更新 更多