你的身体里大约有 7×10²⁷ 个原子。读作”七乘十的二十七次方”,就是 7 后面跟 27 个零。这一课的傻问题是:这到底是多少?

如果这个数字对你毫无感觉,别担心:几乎对谁都没感觉。在一项针对美国成年人的实验里,将近一半的人把”一百万”放在一千和十亿的正中间,好像这几个词之间的距离一样。其实差得远。这一课给你四件工具,让超大数字重新有意义:数零、给零起名字、在合适的刻度上比较,以及不用计算器就能估算。

选一张牌吧:♣ 适合零基础,♦ 适合不怕简单公式,♠ 适合想看符号推导。随时可以换。

讲解难度

数零:科学记数法

讲解难度

新手

拿一粒沙。把十粒排成一排:10。把十排并在一起,就是一片 100。再把十片摞起来,就是一块 1000 粒的立方体。

每做一次,就乘以十,数字就多 一个零。诀窍就这一个:每多一个零,就是乘以 10。

所以不用把零一个个写出来,数一数就行。1000 有三个零,写成 10³(“十的三次方”)。一百万有六个零:10⁶。7×10²⁷ 的意思是”7 后面跟 27 个零”。

数零能避免大数字最傻的错误:不小心漏掉一个零,结果就错了十倍。

进阶

把 7 后面写 27 个零,既麻烦又容易出错。科学记数法解决了这个问题:前面的数在 1 到 10 之间,再乘以 10 的若干次方,这个次数叫指数。指数说的是小数点移动几位。

  • 7000000 = 7×10⁶:小数点向左跳 6 位。
  • 0.0003 = 3×10⁻⁴:指数是负的,说明小数点往另一边跳。这是个很小的数,不是负数。

计算时,相乘就把指数相加,相除就相减:(2×10³) × (4×10⁵) = 8×10⁸。

前面那个数的小数位说明你知道得多精确:7×10²⁷ 是”大约 7”;7.0×10²⁷ 是”精确到十分位的 7”。

计算器和程序用字母 E 写同样的东西:7e27 就是 7×10²⁷。

技术

♦ → ♠ 从进阶到技术
♦ 里的说法♠ 里的写法
前面的数尾数 a,1 ≤ |a| < 10
指数n ∈ ℤ(整数)
小数点移动几位n = ⌊log₁₀ |x|⌋
相乘就把指数相加10ᵐ · 10ⁿ = 10ᵐ⁺ⁿ
你知道得多精确有效数字
用字母 EE 记数法;IEEE 754 浮点数(双精度)

任何实数 x ≠ 0 都可以唯一地写成 x = a·10ⁿ,其中 1 ≤ |a| < 10,n ∈ ℤ。取对数,log₁₀|x| = n + log₁₀|a|,且 0 ≤ log₁₀|a| < 1:指数是对数的整数部分,n = ⌊log₁₀|x|⌋,尾数保存小数部分。科学记数法就是一张随身对数表,所以乘法变成了指数相加。

有效数字藏在尾数里:7×10²⁷ 只给出一位有效数字,7.0×10²⁷ 给出两位。把它写成 7 后面 27 个零,看起来像是声称 28 位都准确,其实没人知道。

计算机用的是同一个思路,只不过是二进制。双精度数(IEEE 754)保存 53 位二进制尾数和一个指数:最大值为 2¹⁰²⁴ − 2⁹⁷¹ ≈ 1.8×10³⁰⁸,整数只在 2⁵³ − 1 以内是精确的(MDN)。10²⁷ 完全放得下,但在 JavaScript 里 7e27 + 1 === 7e27 的结果是 true:那个 1 低于精度,丢了。

给零起名字:词头

讲解难度

新手

三个零一组,就有一个名字,你已经在不知不觉中用了好几个:

  • **千(k)**是一千:一千米就是一公里。
  • **兆(M)**是一百万:1200 万像素的照片有 1200 万个点。
  • **吉(G)**是十亿:1 GB 是十亿字节。
  • **太(T)**是一万亿:1 TB 的硬盘能存一万亿字节。

每上一级都乘以 1000。

这里有个只有中文才会碰到的陷阱:词头三个零一组,而中文数数是四个零一组:万(10⁴)、亿(10⁸)。所以换算总要多想一步:英文的 million 是”百万”,billion 是”十亿”,trillion 是”万亿”。另外,“兆”现在表示一百万(兆瓦、兆字节),但在古代指万亿,读旧书时要小心。

进阶

词头是加在单位前面、把它乘以 10 的某次幂的字。每个词头都有一个一个字母的符号(十 da 是两个字母)。国际单位制(SI)一共有 24 个。

词头符号数值
quettaQ10³⁰
ronnaR10²⁷
尧(yotta)Y10²⁴
太(tera)T10¹²
吉(giga)G10⁹
兆(mega)M10⁶
千(kilo)k10³
毫(milli)m10⁻³
微(micro)µ10⁻⁶
纳(nano)n10⁻⁹

两端的四个,ronna、quetta、ronto 和 quecto,是 2022 年新加的,因为全世界的数据量很快就会超过 10²⁴。

有两个细节很重要:

  • 小写和大写不一样:m 是毫(千分之一),M 是兆(一百万)。1 mm 和 1 Mm 之间差十亿倍。
  • 千永远是 1000。 计算机领域有时把”千”当 1024 用,但其实有专门的词头 kibi(Ki)。GiB 和 GB 相比,前者大 7.4%。

技术

♦ → ♠ 从进阶到技术
♦ 里的说法♠ 里的写法
词头、符号k = 10³,M = 10⁶,G = 10⁹ … Q = 10³⁰
小写和大写m = 10⁻³ ≠ M = 10⁶
kibi,1024Ki = 2¹⁰(IEC 80000-13)
GiB 和 GB 相比GiB / GB = 2³⁰ / 10⁹ ≈ 1.074
加在单位前面不可分割的符号:km² = (10³ m)² = 10⁶ m²

24 个 SI 词头都是 10³ 的幂,只有百、十、分、厘(10²、10¹、10⁻¹、10⁻²)因为习惯而保留。第 27 届国际计量大会(2022)新增了 R、Q、r 和 q,明确的理由有两个:数据科学很快就需要表示超过 10²⁴ 的量,而且要赶在非官方名称流行开来之前给出正式名称。

《国际单位制手册》规定了三条常被违反的规则:

  • 词头符号和单位符号组成不可分割的符号,乘方同时作用于两者:1 km² = (10³ m)² = 10⁶ m²,而不是 10³ m²。同样,2.3 cm³ = 2.3×10⁻⁶ m³。
  • **词头不能叠加:**写 nm,不写 mµm。
  • 千克是唯一自带词头的基本单位,所以它的倍数加在”克”上:10⁻⁶ kg 写作 mg,不写 µkg。

SI 词头严格表示 10 的幂:“1 千比特是 1000 比特,不是 1024 比特”。2 的幂有自己的词头,从 kibi(2¹⁰)到 quebi(2¹⁰⁰),定义在 IEC 80000-13 中。数越大,差别越大:kibi 比 kilo 大 2.4%,gibi 比 giga 大 7.4%,quebi 比 quetta 大 26.8%……不过最后这个目前还没人碰到。

看到英文 billion,先想”十亿”;看到 trillion,想”万亿”。三个零一组和四个零一组,换算时多数一遍。

比较:数量级和对数刻度

讲解难度

新手

“一百万”和”十亿”听起来都只是”很多”。想感受区别,把它们换成时间:

  • 一千秒约 17 分钟:一杯咖啡的工夫。
  • 一百万秒将近 12 天:一次假期。
  • 十亿秒将近 32 年:半辈子。
  • 一万亿秒约 31700 年。

一百万和十亿之间的差距,就像一次假期和半辈子之间的差距。阶梯每上一级都是乘以 1000。

所以比较差别很大的东西时,要看它们有几个零,而不是看数字本身。零的个数相同,就算一个是另一个的两倍,也算”同一个量级”。

进阶

一个数的数量级是离它最近的 10 的幂。一个人身高的数量级是 10⁰ 米(一米),地球的直径是 10⁷ 米的数量级,可观测宇宙是 10²⁶ 米的数量级。相差一个数量级,就是相差十倍。

要把它们画在一起,就用对数刻度:每一格都乘以同样的倍数,比如乘以 10 或乘以 1000。在从 0 到十亿的普通(线性)尺子上,一百万只在千分之一的位置:紧贴着零。而在对数刻度上,一千、一百万和十亿间隔相等,因为每两个之间都是乘以 1000。

两种尺子都有用,用途不同。线性尺子显示差值(“多多少”),对数尺子显示比值(“是多少倍”)。

2013 年的一项研究请美国成年人把大数字放到线性尺子上。大约一半的人放对了。其余的人几乎都把一百万放在中间附近,好像一千、一百万和十亿间隔相等:他们跟着词走,而不是跟着数走。

技术

♦ → ♠ 从进阶到技术
♦ 里的说法♠ 里的写法
离它最近的 10 的幂数量级(x) = round(log₁₀ x)
每一格都乘以同样的倍数坐标 u = log₁₀ x:比值恒定 ⇒ 距离恒定
相差十倍Δ = log₁₀(x₂ / x₁)
好像一千、一百万和十亿间隔相等分段线性启发(Landy 等,2013)

令 u = log₁₀ x,乘以 k 就是平移固定距离 log₁₀ k。对数刻度把比值变成差值,把幂变成斜率:在双对数坐标里,y ∝ xᵖ 是一条斜率为 p 的直线。

OpenStax 把数量级定义为 round(log₁₀ x)。注意阈值:四舍五入的分界在 √10 ≈ 3.16,而不是 5。所以 9000 的数量级是 4,尽管它的科学记数法指数是 3。按这个规则,质子(10⁻¹⁵ 米)和可观测宇宙(10²⁶ 米)相差 log₁₀(10²⁶/10⁻¹⁵) = 41 个数量级。

Landy、Silbert 和 Goldin(《认知科学》,2013)发现,大约一半的参与者把 10³ 到 10⁹ 的数按线性放置,其余几乎都采用分段线性启发:在同一个词内部(“百万""十亿”)是线性的,而不同的词之间等距排列。分段组对无效的政策策略也更乐观。作者把原因归于数词的词汇结构,而不是计算能力差。

动手试试:零的阶梯

选择前面的数和指数,或者直接跳到一个参照。看看它完整写出来是什么样、用中文怎么读、落在阶梯的哪里。

零的阶梯对数刻度的数轴,从 1 到 10 的 30 次方,每格乘以十。参照:80 年里的秒数,约 25 亿;宇宙大爆炸以来的秒数,约 4×10¹⁷;1 摩尔,6×10²³;1 升水里的分子数,3×10²⁵;人体内的原子数,7×10²⁷。初始时,圆点在 7×10²⁷。110¹⁰10²⁰10³⁰一生(秒)大爆炸(秒)1 摩尔1 升水你的身体
完整写出
7,000,000,000,000,000,000,000,000,000
科学记数法
7×10²⁷
用中文读
7000亿亿亿

和你身体里的原子数差不多。

不用计算器的估算:费米方法

讲解难度

新手

你的心脏一辈子要跳多少次?不知道答案,也能粗略算出来:

  1. 心脏大约每秒跳一次。
  2. 80 年大约是 25 亿秒。
  3. 相乘:大约 25 亿次心跳。

这不精确。可能是 20 亿,也可能是 30 亿。但肯定不是 2000 万,也不是 2000 亿。你把零的个数算对了,而比较大小时,这才是关键。

这叫费米估算,以物理学家恩里科·费米命名。诀窍是把一个无从下手的问题拆成你知道的小块,再乘起来。

进阶

费米方法有四条规则:

  1. 把问题拆成因子,每个因子都能大致确定。
  2. 不知道某个因子,就在合理的最小值和最大值之间夹住它,取中间的值。
  3. 只保留一位数字:你要的是零的个数,不是小数。
  4. 最后拿已知的东西核对。

它比看上去更管用,因为误差会部分抵消:一个因子估高了,另一个估低了,乘积反而更接近。

现在回到开头的问题:7×10²⁷ 是怎么来的? 要数原子,就需要摩尔:一包 6×10²³ 个东西,就像”一打”是一包 12 个。一摩尔水大约重 18 克,每个水分子有 3 个原子(两个氢、一个氧)。

假设一个 70 千克的人全是水:70000 克 ÷ 18 克 ≈ 3900 摩尔水,× 3 ≈ 11700 摩尔原子,× 6×10²³ ≈ 7×10²⁷ 个原子。这和发表过的人体估算一致。如果用真实的成分(按质量算,氧和碳更多,它们更重),得到 6.7×10²⁷:零的个数一样。

技术

♦ → ♠ 从进阶到技术
♦ 里的说法♠ 里的写法
把问题拆成因子N = Π fᵢ ⇒ log N = Σ log fᵢ
误差会部分抵消独立误差:σ(log N) ≈ √n · σ(log f)
在合理的最小值和最大值之间夹住它几何平均 √(x_min · x_max)
一包 6×10²³ 个东西N_A = 6.022 140 76×10²³ mol⁻¹(精确值)
一摩尔水大约重 18 克M(H₂O) = 2·1.008 + 15.999 = 18.015 g/mol

费米估算是一个乘积 N = Π fᵢ,在对数刻度上就是一个和:log N = Σ log fᵢ。如果每个因子都有独立的乘性误差,其对数的标准差为 σ,总误差按 √n·σ 增长,而不是 n·σ。五个因子都”准到 2 倍以内”时,结果通常在 2^√5 ≈ 4.7 倍以内:仍在同一个数量级。

对于夹在 x_min 和 x_max 之间的未知因子,几何平均 √(x_min·x_max) 就是对数刻度上的中点。OpenStax 用它估算驼鹿的质量:在 10² 到 10³ 千克之间,约 3×10² 千克。

70 千克人体的原子数,用两个独立的模型:

  • **全当成水:**70000 / 18.015 × 3 × N_A = 7.0×10²⁷。
  • 按质量成分(O 61%、C 23%、H 10%、N 2.6%,WebElements)和常规原子量:6.7×10²⁷。其余 3.4% 是重原子(Ca、P、K……),对总数的贡献不到 1%。

两者都和 Freitas 给出的 ≈ 7×10²⁷(《纳米医学》第一卷,3.1)相符。自 2019 年 SI 重新定义以来,阿伏伽德罗常数是精确值,所以全部不确定性都来自模型,而不是 N_A。

最后的挑战

10⁶ 完整写出来有几个零?
一条英文新闻说「3 billion dollars」,换成中文是……
在一把从 0 到十亿的普通尺子上,一百万落在哪里?

三句话总结

  1. 每个零都是乘以 10,科学记数法就是数零:7×10²⁷ 是 7 后面 27 个零,约 7000 亿亿亿个原子,也就是你身体里的原子。
  2. 词头三个零一组给零起名字(千、兆、吉……一直到 quetta),而中文四个零一组:billion 是十亿,trillion 是万亿。
  3. 比较和估算时都要数零:关心倍数时用对数刻度,把问题拆成因子,并检查数量级对不对。

参考资料

**本课是怎样做的:**在 Claude 的帮助下,根据以上资料调研和撰写,并于 2026 年 10 月 13 日用第二个来源核对。没有单独链接的数字是根据这些资料计算的。插图均为原创。