转换器无法知道您的输入有多精确
在单位转换器中输入"12.5",它会乘以一个存储的系数(精度达到双精度浮点数的15或16位数字),然后输出一个格式化为多个小数位的结果。这个算术运算本身没有任何问题。问题在于可能会把输出结果当作比输入更可信,因为转换器无法知道"12.5"是指精确的12.500000…还是仅仅是卷尺读数(精确到三位有效数字,不会更多)。本网站的方法论页面说明了显示策略—最多8个小数位、去掉尾部零、在大约1e-6到1e9范围外使用科学记数法。这是一个格式化规则。它没有说明这些显示的数字中哪些对特定输入有实际意义,这只能由掌握原始测量数据的人来判断。
"有效数字"实际上是什么
有效数字是对测量量提供真实信息的数字,而不是仅仅标记数字的数量级的数字。在0.0250中,前两个零不是有效数字—它们只是用来放置小数点—但5后面的尾部零是有效数字,因为有人特意选择写了它,这意味着该值精确到第四位数字,而不是说0.02且有未明确说明的四舍五入。这也是不使用小数记数法时容易产生歧义的地方:"200 kg"可能精确到三位有效数字,也可能只是一个只精确到一位有效数字的粗略数字。科学记数法彻底消除了歧义—2 × 10² kg和2.00 × 10² kg是无法误读的。
两种不同的规则,取决于操作类型
组合测量量会因操作是乘法还是加法而导致精度损失不同,应用错误的规则是常见的错误:
- 乘法和除法(这是每个单位转换都属于的操作):结果的有效数字不会超过最不精确输入的有效数字。将精确到3位有效数字的长度转换为另一个单位,无论算术运算产生多少位数字,您仍然只有3位有效数字的真实信息。
- 加法和减法:结果的小数位数不会超过最不精确输入的小数位数,与有效数字数无关。12.5 m + 0.084 m受第一项限制,只能有一个小数位,得出12.6 m,而不是12.584 m。
单位转换总是第一种情况:值 × 系数。系数本身的精度也很重要,这就是"按定义精确"变得重要的地方。
精确系数不会消耗您的有效数字;测量的系数会
乘以精确转换系数(如1英寸 = 2.54厘米(精确),1磅 = 0.45359237公斤(精确))不会降低精度,因为按定义精确的数字本身不携带需要传播的不确定性;如果需要,系数的每一位数字都可用。测量的转换系数是不同的:在1983年用光速重新定义米之前,光速本身是一个附带实验不确定性的测量量,任何使用它的计算都会继承那个不确定性,就像从测量长度继承不确定性一样。1983年后,光速被精确定义为299,792,458 m/s,对从它计算出的任何东西都不会增加额外的不确定性。这个教训可以推广:转换精度的限制因素几乎总是测量输入,而不是存储的常数,前提是该常数确实是精确的。在本网站使用非精确的、上下文相关的数字的地方—方法论页面上记录的碳排放系数是最明显的例子—该数字而不是算术运算才是实际的精度上限。
实际例子:转换房间测量
用卷尺测量的房间长12.5英尺、宽10.25英尺—分别为三位和四位有效数字,这是典型的在较长的墙上读到最近的四分之一英寸、在较短的地方测量稍微仔细一点的结果。使用精确系数1英尺 = 0.3048 m将每一边转换为米:
| 测量 | 有效数字 | 原始乘积 | 正确四舍五入 | 错误地精确(典型计算器显示) |
|---|---|---|---|---|
| 12.5 ft × 0.3048 | 3 | 3.81 m | 3.81 m | 3.81000000 m |
| 10.25 ft × 0.3048 | 4 | 3.1242 m | 3.124 m | 3.12420000 m |
| 面积: 3.81 m × 3.124 m | 3(受3位有效数字的一边限制) | 11.90244 m² | 11.9 m² | 11.90244000 m² |
面积数字是最重要的:计算器会乐于报告11.90244 m²,这个八位数字的精度仅来自浮点算术对测量质量毫无认识的事实。卷尺在其较短的读数上从未支持超过三位有效数字,所以诚实的答案是11.9 m²—其他五位数字是算术噪音,而不是关于房间的信息。
误差实际上在哪里相互叠加:链式转换
单次乘以精确系数不会增加误差。一系列转换仍然可能会丧失精度,但机制是中间步骤中的四舍五入,而不是转换本身。将12.5英尺转换为米,将该结果四舍五入到3.81 m,然后将3.81 m转换为毫米,得到3,810 mm—看起来与直接将12.5英尺转换为毫米(3,810.0 mm)相同,因为在这种情况下中间四舍五入恰好落在一个整数上。但情况并不总是这样清晰:先将10.25英尺四舍五入到2个小数位(3.12 m,丢弃了真实的3.1242 m),然后将该四舍五入的数字继续转换以计算与3.81 m边的面积,面积结果为3.81 × 3.12 = 11.8872 m²—与通过全精度运算然后仅在最后四舍五入一次得到的11.90244 m²的第四位有效数字不同。在3位有效数字上,两个数字都不是"更错误的"(不管怎样都是11.9 m²),但随着更长链中每一个额外的四舍五入中间步骤,差异会增加,这正是本网站在全浮点精度下存储每个系数并仅在最终显示步骤四舍五入、而不是在中间步骤四舍五入的原因。
实际规则
在计算的每个中间步骤中都要保持全精度,然后在最后恰好四舍五入一次,精确到您最不精确输入实际支持的有效数字位数。显示八个小数位的转换器并不是声称对您的特定输入有八个小数位的现实精度—它是在拒绝猜测您需要多少位数字,这是读者要做出的判断,而不是工具的判断。