在这个时代,人们开始使用工具来辅助计算。
机械式计算机出现的背景
手动时期的计算工具要么是自然界现成的,要么是简单制作而成,原理都十分简单。许多经典的计算工具之所以强大,譬如算盘,是由于依托了强大的使用方法(即算法),工具本身并不复杂,在做计算时,除了动手,还需要动脑,甚至动口(念口诀),必要时还得动笔(记录中间结果),人工成本很高。
而到了 17 世纪,西方开始文艺复兴,解析几何、微积分、概率论等关键理论纷纷发表于世,出现了无理数、虚数、导数、对数等基本概念;当伽利略发明天文望远镜、开普勒提出行星运动三大定律、牛顿发现万有引力创立经典力学;折射与衍射、速度与波动,光的神秘面纱被层层揭开,与此同时,资本主义在扩张,殖民主义在膨胀,航海事业蓬勃兴起,在海上导航就离不开天文历表。科学需要计算,殖民亦然。
为了能更快得到计算的结果,从事特定行业、需要这些常用数值的人们就会购买相应的数学用表(从简单的加法表到对数表和三角函数表等等),以供查询。而这些表中的数值,是由数学家们借助算盘这类简单的计算工具一个个算出来的,算完还要核对。仿佛在做小学的算术作业,脑力活硬生生沦为苦力活。辛苦的结果还往往不见得好,人为计算常常出错,当时出版的数学用表几乎没有一份是零差错的,有时甚至因此而酿成航海事故。
后来,人们用齿轮,旋钮和开关等机械装置,建造了能帮助计算的计算机器。由于是纯机械式的(就好比机械表),我们可以称这些机器为机械式计算机。
举例:这是一款文化牌机械式手摇计算机,天津市红星工厂出品,出厂日期 1972 年 9 月。
截图来自 B 站视频:https://www.bilibili.com/video/BV1X541137xn。
世界上第一个机械式计算机
一名德国的科学家,威廉·契克卡德,曾构思了一种计算机器,其手稿如下:
契克卡德手稿(图片来自《The Rechenuhr (Calculating Clock) of Wilhelm Schickard》,下同)
契克卡德这台传说中的机器后来被称为 Rechenuhr,德语中 Rechnen
表示「算术」,uhr
表示「时钟」,Rechenuhr 便通常译为「计算钟」。跟「钟」有什么关系呢?因为当计算结果溢出(超出 6 位数)时,机器会发出响铃警告,这样的设计在当时可谓相当智能。
契克卡德的手稿被辨认之后,图宾根大学一位名叫布鲁诺·冯·弗雷塔格-洛林霍夫(Bruno von Freytag-Löringhoff)的学者立刻开展了相关研究,并于 1960 年做出了计算钟的复制品:
契克卡德计算钟复制品(原图来自维基「Wilhelm Schickard」词条)
该计算钟支持六位整数计算,主要分为加法器、乘法器和中间结果记录装置三部分,它们虽然集成在同一台机器上,但相互之间没有任何物理关联。位于机器底座的中间结果记录装置是一组简单的置数旋钮,主要是为了省去计算过程中笔和纸的参与,没什么可说的,我们详细了解一下加法器与乘法器的实现原理和使用方法。
如何实现乘法?
乘法器部分其实就是对圆柱形纳皮尔筹的封装,将 0~9
的乘法表印在圆柱面上,圆柱顶端的旋钮分有 10 个刻度,每旋转 36°,就能依次将 0 与 0~9
的乘积、1 与 0~9
的乘积……9 与