1640 年,艾蒂安·帕斯卡被任命为诺曼底的税务官。这份工作就是一直到深夜累加一列又一列的数字,17 岁的儿子布莱兹也来帮忙。更麻烦的是,当时法国的货币不是十进制的:

$$1\ \text{里弗尔}=20\ \text{苏},\qquad 1\ \text{苏}=12\ \text{德尼耶}.$$

把 $3$ 里弗尔 $15$ 苏 $8$ 德尼耶和 $2$ 里弗尔 $7$ 苏 $9$ 德尼耶相加,需要三种进位:

  • 德尼耶:$8+9=17$,即 $1$ 苏 $5$ 德尼耶;
  • 苏:$15+7+1=23$,即 $1$ 里弗尔 $3$ 苏;
  • 里弗尔:$3+2+1=6$。

结果是 $6$ 里弗尔 $3$ 苏 $5$ 德尼耶。一晚上算一千次,你一定会出错。1642 年,布莱兹开始制造一台不会出错的机器。

会计数的轮子

帕斯卡计算器的原理很简单。数字的每一位都有一个轮子,上面标着 $0$ 到 $9$。要加 $7$,就把一支尖笔插进 $7$ 的孔里,转动轮子直到碰到挡块。数字会显示在一个小窗口里。

一台十进制的帕斯卡计算器,有六个轮子,收藏于巴黎工艺博物馆。用于算钱的型号还有 20 格和 12 格的轮子,分别用来计算苏和德尼耶。
一台十进制的帕斯卡计算器,有六个轮子,收藏于巴黎工艺博物馆。用于算钱的型号还有 20 格和 12 格的轮子,分别用来计算苏和德尼耶。David Monniaux,2005 年 · Wikimedia Commons · CC BY-SA 3.0

难的是进位。当个位轮从 $9$ 转到 $0$ 时,十位轮必须自己前进一格。有时进位还会连续传递下去:

$$999+1=1000.$$

这里个位轮转一下,就要同时带动四个轮子。如果所有的力都来自转动轮子的手指,齿轮就会卡住。

跳跃器

帕斯卡的解决办法是一个叫作跳跃器的零件:在相邻两个轮子之间的一根带重物的小杠杆。轮子从 $0$ 转到 $9$ 的过程中,两根销子把跳跃器一点点抬起来。从 $9$ 转到 $0$ 的那一刻,跳跃器被松开,靠自身的重量落下,把下一个轮子向前推一格。

进位的力来自重力,是在计数过程中一点点储存起来的。所以进位可以连续穿过许多个轮子而不卡住。在加法 $278+145$ 中:

  • 个位:$8+5=13$,轮子显示 $3$,跳跃器推动十位;
  • 十位:$7+4+1=12$,轮子显示 $2$,跳跃器推动百位;
  • 百位:$2+1+1=4$。
加法 278 + 145 中的两次进位。在帕斯卡计算器里,每一次进位都是一个跳跃器的落下。
加法 278 + 145 中的两次进位。在帕斯卡计算器里,每一次进位都是一个跳跃器的落下。本博客原创插图。

用只会加法的机器做减法

跳跃器也有代价:轮子只能朝一个方向转。那么怎么做减法呢?帕斯卡用的是补九法。每个窗口里有两个数:这一位的数字,以及它距离 $9$ 还差多少。对于三位数,$x$ 的补数是 $999-x$。

计算 $423-145$:

  1. $423$ 的补数是 $999-423=576$;
  2. 机器照常做加法:$576+145=721$;
  3. $721$ 的补数是 $999-721=278$。

确实,$423-145=278$。原因是 $999-\big((999-a)+b\big)=a-b$。只用加法,机器就能做减法。

之前与之后

帕斯卡计算器并不是第一台计算机器:1623 年,德国人威廉·席卡德就设计过一台“计算钟”,但它在战争中遗失了,当时没有人知道它。帕斯卡的机器是第一台被制造、出售和仿制的计算机。三十年后,莱布尼茨在巴黎见到了一台,决定更进一步:他想要一台也能做乘法的机器。

练习:计算 596 加 407,并跟踪每一次进位

个位:$6+7=13$,写 $3$ 进一。十位:$9+0+1=10$,写 $0$ 进一。百位:$5+4+1=10$,写 $0$,向千位进一。结果是 $1003$:三个跳跃器接连落下。

练习:用帕斯卡计算器的方法计算 500 − 137

$500$ 的补数是 $499$。相加,$499+137=636$。$636$ 的补数是 $363$。确实,$500-137=363$。

资料来源: 帕斯卡传记,MacTutor · 帕斯卡计算器,巴黎工艺博物馆。


帕斯卡的全部主题 · ← 德·梅雷骑士的骰子与公平的分配 · 神秘六边形:圆锥曲线上的六个点 →

图片来源.