第3讲 大数之法——从亿到载,万进制的极限
万万曰亿,万万亿曰兆……一路推到'载'——中国古代的万进制大数系统,重新定义你对'大'的认知。
原典
凡大数之法:万万曰亿,万万亿曰兆,万万兆曰京,万万京曰陔,万万陔曰秭,万万秭曰穰,万万穰曰沟,万万沟曰涧,万万涧曰正,万万正曰载。
——《孙子算经·卷上》
白话翻译
大数的命名规则是这样的:一万个一万叫"一亿",一万个一亿叫"一兆",一万个一兆叫"一京",一万个一京叫"一陔",一万个一陔叫"一秭",一万个一秭叫"一穰",一万个一穰叫"一沟",一万个一沟叫"一涧",一万个一涧叫"一正",一万个一正叫"一载"。
也就是说,从"万"到"载",一共十二个数量级,每级之间都是 一万倍 的进制,而不是我们熟悉的"一千倍"(千进制)或"一亿倍"(亿进制)。这在数学史上是一个非常重要的进制选择,我们后面会详细分析。
示意图
数学解读
1. 为什么是"万",不是"十"也不是"千"?
孙子算经的度量衡用的是十进制(忽→秒→毫→厘→分→寸→尺→丈→引,全×10)。但到了大数命名,突然跳到了×10000(万倍)。为什么?
道理其实很简单:日常用十进已经够用,但描述天文数字,十进制就太啰嗦了。
举个例子,如果十进制命名,从"一"到"亿"需要八级(个、十、百、千、万、十万、百万、千万、亿),而孙子只用二级(万→亿)。一个叫"六千万",在孙子体系里就叫"六千万"——其实是一样的,但到了更大的数,差异就出来了:
万进制是在"简洁"和"精细"之间的一个平衡点。十进制太细碎,千进制还差一点,万进制正好——一个数量级覆盖四个十进级,既有足够的精度,又不至于名称太长。
2. 万进制是如何工作的?
万进制本质上是 进制。用指数表示:
所以"一载" = ,也就是1后面跟48个零。这个数字大到什么程度?地球上的原子总数大约是 的量级——也就是说,孙子算经定义的"载",已经接近整个地球的原子数目了。在公元400年左右,古人的想象力就已经触及了这个尺度,令人惊叹。
3. 中数、上数、下数——大数命名法的三个流派
孙子算经这套大数系统不是唯一的。南北朝时期的《数术记遗》(甄鸾注)记载了三种大数命名法:
-
下数:十变之(十倍进制),十万曰亿,十亿曰兆,十兆曰京……推到极是 。这种命名法"亿"只等于 ,跟今天日常说的"亿"()不一样,容易混淆,后来被淘汰了。
-
中数:万万变之(万倍进制),就是孙子算经的这套——万万曰亿(),万万亿曰兆()……一直推到载()。这是中国古代最主流的体系。
-
上数:穷则变(每乘一次就变名),亿亿曰兆,兆兆曰京……推到极是 。这个体系增长太快,实用性差,主要在哲学讨论中出现。
今天国际通用的"千进制"(千→百万→十亿→兆→千兆……)本质上跟孙子"万进制"的思路一样——选择一个合适的倍率,让大数名称既简洁又不至于跳太大。只不过西方选了 ,中国选了 。
4. 粟米换算中的大数应用
孙子算经在卷上的末尾,用大数系统做了一个具体的计算:
十斛得六千万粟。百斛六亿粟,千斛六兆粟,万斛六京粟,十万斛六秭粟……
这里是把"一斛"(十斗)的粟米粒数(六千万粒)逐级放大,用刚学的大数命名来表述。注意看,换算的中间有一个"十斛"(六千万粟),然后直接跳到"百斛六亿粟"——六千万 × 10 = 六亿,,正好对应。
这个例子说明,孙子并不是在纯理论地讨论大数,而是把大数命名法直接用到实际计算中。一斛六千万粟,百斛六亿粟,千斛六兆粟——用大数名称把庞大的数字压缩成简洁的表达,这正是数学语言的力量。
5. 核心规律:每级乘
把整个体系写成一张表:
| 名称 | 指数 | 数值 |
|---|---|---|
| 万 | 10,000 | |
| 亿 | 100,000,000 | |
| 兆 | 1,000,000,000,000 | |
| 京 | 10,000,000,000,000,000 | |
| 陔 | ||
| 秭 | ||
| 穰 | ||
| 沟 | ||
| 涧 | ||
| 正 | ||
| 载 |
规律很清晰:每级乘 ,指数加4。从万到载,指数从 4 一路加到 48。
高中课本关联
① 指数与对数(必修第一册)
大数之法的核心就是指数运算。 的连续乘方,本质上就是指数相加:
这跟必修第一册讲"同底数幂相乘,指数相加"完全一致。我建议在讲指数运算时,拿孙子算经的大数命名法当例子——让学生从"一亿到一兆到一京"的命名中,直观感受指数爆炸的威力,比单纯在黑板上列 有意思得多。
② 科学记数法(必修第一册)
一载 = ,这就是科学记数法。我们可以让学生算算:
- 一载等于多少亿? 亿
- 一载是 个亿,而这个"亿"本身已经是 了
这正好帮学生理解科学记数法为什么选择"10的幂次"作为表达方式——因为命名法本质上是把指数运算"藏"在文字里,科学记数法则是直接写出来。两者用的是同一个数学结构。
③ 等比数列(选择性必修第二册)
大数之法的名称序列(万、亿、兆、京、陔、秭……)是一个等比数列:
从"万"到"载"一共12项,末项是 。这个数列的通项公式非常简洁,可以用作等比数列的课堂引入——贴近生活(虽然"大数"不是日常,但"一兆""一亿"这些词学生都听过),又能展示数学建模的过程。
思考与拓展
-
算一算:如果采用"上数"(亿亿曰兆),一兆等于多少?跟孙子算经的"一兆"()相比,相差了多少倍?用指数形式表示。
-
想一想:今天国际通用的数字单位是"千、百万、十亿、兆、千兆……"(K、M、B、T),每级乘1000。如果让你设计一个适用于21世纪的大数命名法,你会选什么进制?为什么?考虑一下互联网数据(TB、PB、EB)的命名跟传统大数命名的关系。
-
查一查:日本的"兆"(ちょう)和中文的"兆"分别代表 还是 ?为什么同样一个汉字,在东亚不同国家代表不同的数值?这背后有什么历史原因?
一句话总结
孙子算经的"万进制"大数命名法,是人类最早的系统化大数体系之一——从万到载,十二个名称覆盖了 到 的46个数量级,用最简洁的语言表达了指数增长的思想,直到今天仍然影响着东亚各国的数字命名习惯。