帕斯卡计算器:用齿轮做加法
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$ 的孔里,转动轮子直到碰到挡块。数字会显示在一个小窗口里。
难的是进位。当个位轮从 $9$ 转到 $0$ 时,十位轮必须自己前进一格。有时进位还会连续传递下去:
$$999+1=1000.$$这里个位轮转一下,就要同时带动四个轮子。如果所有的力都来自转动轮子的手指,齿轮就会卡住。
跳跃器
帕斯卡的解决办法是一个叫作跳跃器的零件:在相邻两个轮子之间的一根带重物的小杠杆。轮子从 $0$ 转到 $9$ 的过程中,两根销子把跳跃器一点点抬起来。从 $9$ 转到 $0$ 的那一刻,跳跃器被松开,靠自身的重量落下,把下一个轮子向前推一格。
进位的力来自重力,是在计数过程中一点点储存起来的。所以进位可以连续穿过许多个轮子而不卡住。在加法 $278+145$ 中:
- 个位:$8+5=13$,轮子显示 $3$,跳跃器推动十位;
- 十位:$7+4+1=12$,轮子显示 $2$,跳跃器推动百位;
- 百位:$2+1+1=4$。
用只会加法的机器做减法
跳跃器也有代价:轮子只能朝一个方向转。那么怎么做减法呢?帕斯卡用的是补九法。每个窗口里有两个数:这一位的数字,以及它距离 $9$ 还差多少。对于三位数,$x$ 的补数是 $999-x$。
计算 $423-145$:
- $423$ 的补数是 $999-423=576$;
- 机器照常做加法:$576+145=721$;
- $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 · 帕斯卡计算器,巴黎工艺博物馆。
帕斯卡的全部主题 · ← 德·梅雷骑士的骰子与公平的分配 · 神秘六边形:圆锥曲线上的六个点 →
图片来源.