1642年,法国鲁昂。
一位19岁的少年正伏案工作,桌上摆满了黄铜齿轮和弹簧。他的父亲是当地的税务官,每天要处理大量的加减运算,常常算到深夜。
少年心想:如果有一台机器能帮父亲自动计算,该多好?
这个少年叫布莱兹·帕斯卡。他即将发明世界上第一台机械计算器。
天才少年帕斯卡 #
帕斯卡是个不折不扣的天才。
他3岁丧母,由父亲独自抚养。父亲是个数学爱好者,但为了不让儿子过早沉迷数学,他把家里所有的数学书都锁了起来。
结果呢?12岁的帕斯卡偷偷推导出了欧几里得几何的前32条定理——完全靠自学。父亲发现后,惊得说不出话,终于把数学书全部交给了他。
16岁,帕斯卡写出了关于圆锥曲线的论文,震惊了整个欧洲数学界。笛卡尔看到论文后,甚至不相信这是一个16岁少年写的。
但帕斯卡最伟大的发明,不是数学论文,而是那台帮父亲省力的机器。
帕斯卡计算器:齿轮的魔法 #
帕斯卡花了三年时间,设计并制造出了帕斯卡计算器(Pascaline)。
这台机器看起来像一个精致的黄铜盒子,上面有一排转盘,每个转盘对应一个数字位(个位、十位、百位……)。转盘下面是一组精密的齿轮。
它是怎么工作的呢?
假设你要算"123 + 456":
- 用小棍拨动第一个转盘,转到"3"的位置
- 拨动第二个转盘,转到"2"的位置
- 拨动第三个转盘,转到"1"的位置
- 现在机器显示"123"
- 然后用同样的方法输入"456"
- 机器自动完成加法,显示"579"
神奇的地方在于进位:当个位从9转到0时,齿轮会自动带动十位转一格。就像我们用算盘时"满十进一"一样,帕斯卡计算器用机械方式实现了这个功能。
帕斯卡后来回忆说:“我花了比做一千次发明更多的时间,才让机器能够正确进位。”
帕斯卡的困境 #
帕斯卡计算器是个伟大的发明,但它有个致命缺陷:只能做加法和减法。
乘法需要重复的加法(比如"5×3"就是"5+5+5"),除法需要重复的减法。虽然理论上可行,但操作起来太麻烦了。
更糟糕的是,这台机器太贵了。帕斯卡计算器相当于当时一个普通工人一年的工资。虽然帕斯卡制造了约50台,但大多数只是贵族的收藏品,并没有真正普及。
帕斯卡后来转向了哲学和宗教,写出了著名的《思想录》。那句"人是一根会思考的芦苇",就出自他笔下。
他只活了39岁。但他留下的计算器,点燃了机械计算的火种。
莱布尼茨:我要让它做乘除法 #
帕斯卡计算器问世30年后,另一个天才登场了。
戈特弗里德·威廉·莱布尼茨,德国人,当时只有26岁。他在巴黎看到了帕斯卡计算器,立刻被迷住了。
但莱布尼茨不满足:“为什么它不能做乘除法?”
1673年,莱布尼茨设计出了自己的计算器——莱布尼茨计算器(Stepped Reckoner)。
这台机器的核心发明是阶梯鼓轮(Stepped Drum)——一个像阶梯一样的圆柱体齿轮。通过这个设计,机器可以用一个动作完成多次加法运算,从而实现乘法。
比如"12×5",你只需要把乘数设为12,然后转动曲柄5次,机器就会自动完成"12+12+12+12+12"的运算。
莱布尼茨计算器是世界上第一台能进行四则运算(加减乘除)的机械计算器。
莱布尼茨的另一个贡献 #
莱布尼茨发明计算器只是他的"副业"。他的主业是——发明微积分。
是的,牛顿和莱布尼茨几乎同时发明了微积分。两人为此争了一辈子,谁也不服谁。现在历史学家认为,他们是独立发明的。
莱布尼茨还发明了二进制——用0和1来表示所有数字。当时这只是个数学游戏,没人想到它后来会成为计算机的基础。
莱布尼茨曾自豪地说:“让最优秀的计算者使用我的机器,我可以保证他的结果不会比我更准确。”
机械计算器的黄金时代 #
帕斯卡和莱布尼茨的发明,开启了机械计算器的时代。
在接下来的200多年里,无数发明家改进了他们的设计:
- 1820年,法国人托马斯发明了四则计算器,这是第一款商业化成功的计算器
- 1878年,瑞典人奥德纳发明了销轮计算器,更小巧、更便宜
- 20世纪初,机械计算器已经成为会计师、工程师的标配
如果你看过电影《隐藏人物》,里面NASA的"人类计算机"们用的就是机械计算器。在电子计算机出现之前,这些咔咔作响的机器承担了人类最复杂的计算任务。
机械的极限 #
但机械计算器有无法逾越的障碍:
第一,速度有限。 齿轮转动需要时间,再精密的机械,也快不过电子。
第二,功能有限。 机械计算器只能做四则运算,无法处理更复杂的逻辑。
第三,可靠性有限。 齿轮会磨损,弹簧会疲劳,机器需要频繁维护。
人类需要一种全新的计算方式——不是用齿轮,而是用别的东西。
就在莱布尼茨发明计算器的同时,大洋彼岸的英国,一个叫查尔斯·巴贝奇的男孩出生了。
他将会设计出一种超越时代的机器——差分机。
它的复杂程度,远超任何机械计算器。它甚至被认为是世界上第一台"计算机"。
但巴贝奇的一生,注定是一场悲剧。
他的故事,我们明天继续。
今日知识点 #
进位(Carry) 当某一位的数字超过最大值(十进制是9)时,向更高一位加1的操作。比如"9+5=14",个位从9变成4,同时向十位进1。帕斯卡计算器用齿轮的机械联动实现了自动进位。
二进制(Binary) 只用0和1两个数字来表示所有数。比如十进制的5,用二进制表示是101。莱布尼茨发明了二进制,后来成为电子计算机的基础。为什么用二进制?因为电子元件最容易实现"开"和"关"两种状态。
思考题 #
- 帕斯卡计算器只能做加减法,但莱布尼茨计算器能做乘除法。你能想到莱布尼茨是怎么实现的吗?(提示:乘法就是重复的加法)
- 为什么机械计算器最终被电子计算机取代?你觉得最关键的原因是什么?
明天预告:查尔斯·巴贝奇与差分机——一个超越时代的天才,和他未能完成的梦想。