1642 年,年轻的布莱兹·帕斯卡为了帮助当税务官的父亲,造了一台机器。这台“帕斯卡计算器”通过转动齿轮做加法和减法。但要做乘法,就得用手反复做很多次加法。

莱布尼茨在巴黎见到了帕斯卡计算器,想更进一步:造一台能自己做乘法和除法的机器。

乘法就是加法加移位

诀窍和学校里的竖式乘法一样。要算 $23\times14$,把 14 拆成 $4+10$:

$$23\times14=23\times4+23\times10=92+230=322.$$

乘以 4 就是把 23 加四次。乘以 10 只是把数左移一位。所以,一台加法做得好、又能移位的机器,就能做任何乘法。

把 23 × 14 拆成 23 × 4 和 23 × 10。示意图解释的是计算,并非历史上那台机器的复制品。
把 23 × 14 拆成 23 × 4 和 23 × 10。示意图解释的是计算,并非历史上那台机器的复制品。本博客原创插图。

阶梯轮

莱布尼茨的计算机,带有阶梯圆柱,陈列于德累斯顿技术收藏馆。当时只造了两台,唯一留存下来的一台保存在汉诺威的戈特弗里德·威廉·莱布尼茨图书馆。
莱布尼茨的计算机,带有阶梯圆柱,陈列于德累斯顿技术收藏馆。当时只造了两台,唯一留存下来的一台保存在汉诺威的戈特弗里德·威廉·莱布尼茨图书馆。Kolossos · Wikimedia Commons · CC BY-SA 3.0

难点在于:如何让机器把同一个数加好几次,而不需要操作者重新输入。莱布尼茨的解决方案是阶梯轮(德语 Staffelwalze):一个圆柱体上带有九个长短不一的齿,就像一道绕在上面的阶梯。

一个小齿轮在阶梯轮旁边滑动。如果它停在“3”的高度,阶梯轮每转一圈只有三个齿能碰到它,它就转动三格;如果停在“7”,就转七格。所以,调好小齿轮的位置,就等于在机器里存储了一个数字。每摇一次手柄,就再加一次这个数字。

计算 $23\times4$ 时,先设好 2 和 3,摇四次手柄。然后把机器的活动部分移一位,再摇一次,加上 $23\times10$。结果显示在表盘上:322。

进位的难题

在十进制齿轮上给 9 加 1,表盘要回到 0,同时下一个齿轮要前进一格:这就是“进位”。计算 $9999+1$ 时,四个齿轮必须依次、在恰当的时刻把进位传递下去。以 17 世纪零件的精度,这是最难的地方。

莱布尼茨在 1673 年向皇家学会展示了一个尚未完成的木制模型。他与钟表匠一起花了二十多年改进设计,耗费了一小笔财富。19 世纪末人们详细检查这台机器时发现,进位机构在某些情况下会出错。数学思想是对的,难的是机械的实现。

沿用三百年的机构

阶梯轮是这台机器最重要的遗产。1820 年,法国人托马·德·科尔马用同样的原理制造了四则运算器(arithmomètre),这是第一种批量生产的计算器,一直销售到 20 世纪初。1948 年,可以握在掌心的奥地利小型计算器科塔(Curta)仍然使用阶梯轮,直到 1970 年代才被电子计算器取代。

对莱布尼茨来说,这台机器的意义不只是节省会计的时间。它表明:一段推理,只要用精确的规则写出来,就能由机械来执行。同样的想法也出现在他用计算来推理的梦想中。

练习:像机器那样拆分 37 × 12

$37\times12=37\times2+37\times10=74+370=444$。在机器上:用 37 摇两次,移一位,再摇一次。

练习:机器计算 58 × 203 需要摇多少次手柄?

$203=3+0\cdot10+2\cdot100$。个位摇 3 次,十位 0 次,百位 2 次,共 5 次,另加移位。结果:$58\times203=11\,774$。

资料来源: 汉诺威莱布尼茨大学的莱布尼茨展览 · MacTutor 传记。


莱布尼茨的全部主题 · ← 二进制算术:用 0 和 1 表示数 · 莱布尼茨的 π 级数:简单而缓慢的求和 →

图片来源.