∫π每天一道数学题
← 返回孙子算经专题
孙子算经 · 第 7 讲 · 2026-09-05 · 约 10 分钟

第7讲 大数之法——万万曰亿,万万兆曰京

从'万万'到'万万载',孙子算经用两个万字节的乘方,构建了一套能表达宇宙级数字的大数体系。

原典

凡大数之法:万万曰亿,万万亿曰兆,万万兆曰京,万万京曰陔,万万陔曰秭,万万秭曰穰,万万穰曰沟,万万沟曰涧,万万涧曰正,万万正曰载。

——《孙子算经·卷上》

白话翻译

大数的命名规则很简单:每过一个"万"的层级,再乘一次"万万"(即 10810^8)。

  • "万万"是"亿"——104×104=10810^4 \times 10^4 = 10^8
  • "万万亿"是"兆"——108×108=101610^8 \times 10^8 = 10^{16}
  • "万万兆"是"京"——1016×108=102410^{16} \times 10^{8} = 10^{24}
  • 接下来依次是:陔、秭、穰、沟、涧、正、载……

每一级的单位都是上一级的 10810^8 倍。

示意图

大数之法示意图

大数命名体系:每一级是上一级的 $10^8$(万万)倍,指数每次增加 8

数学解读

1. 什么是"万万曰亿"?

孙子说"万万曰亿",意思是:一万乘以一万,就是亿

在十进制里,这等于:

亿=104×104=104+4=108\text{亿} = 10^4 \times 10^4 = 10^{4+4} = 10^8

也就是说,一亿等于 1 后面跟 8 个零。

你可能会说:这不就是我们今天用的"亿"吗?没错,但孙子的表达方式有一个关键点——他不是在定义一个独立的新单位,而是在告诉你这个单位是怎么来的:它是两个"万"相乘的结果。

这就好比我们在代数里写 xx=x2x \cdot x = x^2,孙子在告诉你:亿 = 万 × 万 = 万的平方。

2. 指数每次增加 8——大数体系的结构

按照孙子的规则,继续往下推:

=亿×=108×104=1012=×=1012×104=1016=×=1016×104=1020=×=1020×104=1024=×=1024×104=1028=×=1028×104=1032=×=1032×104=1036=×=1036×104=1040=×=1040×104=1044\begin{aligned} \text{兆} &= \text{亿} \times \text{万} = 10^8 \times 10^4 = 10^{12} \\ \text{京} &= \text{兆} \times \text{万} = 10^{12} \times 10^4 = 10^{16} \\ \text{陔} &= \text{京} \times \text{万} = 10^{16} \times 10^4 = 10^{20} \\ \text{秭} &= \text{陔} \times \text{万} = 10^{20} \times 10^4 = 10^{24} \\ \text{穰} &= \text{秭} \times \text{万} = 10^{24} \times 10^4 = 10^{28} \\ \text{沟} &= \text{穰} \times \text{万} = 10^{28} \times 10^4 = 10^{32} \\ \text{涧} &= \text{沟} \times \text{万} = 10^{32} \times 10^4 = 10^{36} \\ \text{正} &= \text{涧} \times \text{万} = 10^{36} \times 10^4 = 10^{40} \\ \text{载} &= \text{正} \times \text{万} = 10^{40} \times 10^4 = 10^{44} \end{aligned}

每一项的指数都比前一项多 8——这是一个公差为 8 的等差数列

如果我们用 nn 来表示第 nn 级单位(亿是第 1 级,兆是第 2 级……),那么第 nn 级单位的数量级就是:

108n10^{8n}

这个规律非常整齐,也很好记——只要知道"亿"是 10810^8,后面每多一个单位,就多加 8 个零。

3. 两种大数体系:上数、中数、下数

这里有个重要的历史细节:孙子用的"万万曰亿"只是三种大数体系之一

中国古代的大数体系有三种,叫"上数""中数""下数",区别在于相邻两级之间的倍数不同:

体系进位规则兆 = ?
上数(孙子用)逐级相乘:万万=亿,亿亿=兆10810^{8}
中数等比递增:万万=亿,十万亿=兆101210^{12}
下数固定进位:万进101210^{12}(但定义方式不同)

"上数"的特点是每级之间的进位是上一级的"倍"——亿亿为兆,兆兆为京,指数是 8,16,32,64,8, 16, 32, 64, \ldots,即 23n2^{3n},增长极快。

"中数"是每个单位比前一个单位大 10410^4(一万倍),这和孙子原文的表述"万万亿曰兆"更吻合——兆是亿的万倍,而不是亿的亿倍。

"下数"则是固定的万进制,即每进一级就乘 10000。

孙子算经采用的是"中数"体系——相邻两级之间始终相差 10410^4(万)。这也是后世最通行的说法,和我们今天说的"一兆 = 百万亿 = 101210^{12}"是一致的。

4. 为什么需要这么大的数?

你可能会问:古代中国有这么大的数干什么用?

其实答案藏在孙子算经的其他题目里。卷中有一道题:

今有粟一十二万八千九百四十斛九斗三合,以三斛五斗七升为法,除之。

答案是"四千三百七十四匹余四十之所得"——这是一个涉及几十万斛粮食的大规模换算问题。

更重要的是,中国古代天文计算、历法推算、大规模工程调度(修长城、开运河)都需要处理巨大的数字。当你的国家要统计全国人口、计算每年税收、调配军粮时,"万万"级别的数字是日常用到的。

大数体系不是文人玩文字游戏,而是治理一个庞大帝国所必需的工具。

5. 现代视角:从亿到"亿亿"

用现代科学的眼光看,大数体系其实无处不在:

  • 银河系约有 101110^{11} 颗恒星(几百亿颗)
  • 可观测宇宙约有 108010^{80} 个原子
  • 地球人口约 8×1098 \times 10^9(80 亿)

在中文里,"八百亿"可以写成"八千亿"或者"八十亿",但在英文里,"billion" 和 "trillion" 之间的进位就混乱了——英文的 billion 是 10910^9,trillion 是 101210^{12},而中文的亿是 10810^8、兆是 101210^{12}

这种差异反映了不同的计数传统。中文的大数体系以"万"为基础单位,每两级用"万万"来过渡,结构更加清晰。

高中课本关联

① 指数与幂运算(必修第一册)

大数体系的本质是幂运算的累乘

亿=108,=1012=108×104,=1016\text{亿} = 10^8, \qquad \text{兆} = 10^{12} = 10^8 \times 10^4, \qquad \text{京} = 10^{16}

学生在这里可以直观感受到:指数相加 = 同底数幂相乘

108×104=108+4=101210^8 \times 10^4 = 10^{8+4} = 10^{12}

这正是指数运算的基本法则。古人用文字描述了这个过程,现代数学用符号简洁地表达它。两种表达指向同一个数学事实。

② 等差数列(必修第二册)

大数体系的指数序列是 8,12,16,20,24,8, 12, 16, 20, 24, \ldots——这是一个公差为 4 的等差数列

如果我们把"亿"记为第 1 项,那么第 nn 项的值是:

an=8+(n1)×4=4n+4=4(n+1)a_n = 8 + (n-1) \times 4 = 4n + 4 = 4(n+1)

等等,我重新算一下——"亿"是 10810^8,"兆"是 101210^{12},指数序列是 8,12,16,20,8, 12, 16, 20, \ldots

首项 a1=8a_1 = 8,公差 d=4d = 4,第 nn 项:

an=8+(n1)×4=4n+4a_n = 8 + (n-1) \times 4 = 4n + 4

验证:n=1n=1a1=8a_1 = 8 ✓,n=2n=2a2=12a_2 = 12 ✓。

所以第 nn 个大数单位的值就是 104(n+1)10^{4(n+1)}。这个公式本身就是一个等差数列的通项公式应用。

③ 科学记数法(必修第一册)

大数体系本质上是一种中文的科学记数法

西方用 108,1012,1016,10^8, 10^{12}, 10^{16}, \ldots 来表达大数,中文则用"亿、兆、京、陔……"来称呼它们。两者只是表达形式不同,数学含义完全相同。

现代科学中,当数字大到超出日常理解范围时,我们统一用科学记数法(a×10na \times 10^n)来表达。孙子用大数单位体系,做了一件同样的事——用有限的名称,表达无限的数量级

教学启示

讲大数之法时,我建议不要把它当成一个"纯知识性"的内容一带而过。可以让学生做一个小练习:

把你的年龄换算成"亿",看看你活了多少亿秒?

地球约 4646 亿年,人类文明约 50005000 年。用这些大数来感受时间的尺度,学生会意识到:数学不只是算题,它还是理解世界的工具

另外,可以让学生查一下:中文的"兆"在大陆、台湾、日本、韩国的含义有何不同?(大陆:101210^{12};台湾/日本:101210^{12}10610^{6};韩国:101210^{12})——这种跨文化的对比能让他们理解同一套数学概念在不同文化中的演变

思考与拓展

  1. 算一算:一载等于多少?用指数形式表示,然后算出它等于多少亿。

  2. 比一比:中国的"上数"体系(亿亿为兆)和"中数"体系(万万亿为兆),哪一个增长更快?当 n=3n = 3(京)时,两种体系下的京分别是多少?

  3. 想一想:如果按照孙子的体系继续往下推,"载"之后是什么?请用通项公式表示第 nn 个大数单位。

一句话总结

孙子算经用"万万曰亿,万万亿曰兆"的递推规则,构建了一个每级相差 10410^4 倍的大数体系——用十个汉字,就能表达超过一百亿亿亿倍的数,这是中国古代数学对"大数"最优雅的命名方案。

— Y. · 2026-09-05