机械之美——机械时期的计算设备

本文刊载于《上海财经大学博物馆馆刊》2018年11月(第一期),网络版为《机械之美——机械时期的计算设备》。


所谓计算机,顾名思义,就是用于计算的机器。诚然现在的计算机应用已经远远超出了计算本身,不论是电脑、平板、还是手机,我们天天靠着它们看电影、听音乐、交流感情,看似与计算已经毫无关系,但事实上最初计算机的诞生就是为了满足人们对数学计算的需求,而如今计算机这些强大功能的底层实现,也依旧靠的是数学计算,这也是为什么我们仍然保留着「计算机」这一称呼的原因吧。

远古时代,原始人为了搞清楚猎物的数目就已经与计算攀上了关系,他们用手指计数,用结绳记事。到了古代,人们又发明了算筹、算盘等简单工具,借助复杂的使用方法,求解复杂的问题。至此,人们在计算时不光要动手,还要动脑,甚至动口(念口诀),必要时还得动笔(记录中间结果),人工成本很高。

到了17世纪,人们终于开始尝试使用机械装置完成一些简单的数学运算(加减乘除)——可不要小看了只能做四则运算的机器,计算量大时,如果数值达到上万、上百万,手工计算十分吃力,而且容易出错,这些机器可以大大减轻人工负担、降低出错概率。

机械装置的历史其实相当久远,在我国,黄帝和蚩尤打仗时就发明了指南车,东汉张衡的地动仪、浑天仪、记里鼓车(能自动计算行车里程),北宋时期苏颂、韩公廉发明的水运仪象台(天文钟),数不胜数,其中好多发明事实上已经实现了某些特定的计算功能。然而所谓工具都是应需求而生的,我国古代机械水平再高,对计算(尤其是大批量计算)没有需求也难为无米之炊,真正的通用机械计算设备还得在西方进入资本主义后逐渐出现。

那个时候,西方资产阶级为了夺取资源、占据市场,不断扩大海外贸易,航海事业蓬勃兴起,航海就需要天文历表。在那个没有电子计算机的时代,一些常用的数据通常要通过查表获得,比如cos27°,不像现在这样掏出手机打开计算器APP就能直接得到答案,从事特定行业、需要这些常用数值的人们就会购买相应的数学用表(从简单的加法表到对数表和三角函数表等等),以供查询。而这些表中的数值,是由数学家们借助简单的计算工具(如纳皮尔棒)一个个算出来的,算完还要核对。现在想想真是蛋疼,脑力活硬生生沦为苦力活。而但凡是人为计算,总难免会有出错,而且还不少见,常常酿成航海事故。机械计算设备就在这样的迫切的需求背景下应运而生。

契克卡德计算钟(Rechenuhr)

研制时间:1623年~1624年

威廉·契克卡德(Wilhelm Schickard 1592-1635),德国数学、天文学教授。

契克卡德是现今公认的机械式计算第一人,你也许没听说过他,但肯定知道开普勒吧,对,就是那个天文学家开普勒。契克卡德和开普勒出生在同一城市,两人既是生活上的好基友,又是工作上的好伙伴。正是开普勒在天文学上对数学计算的巨大需求促使着契克卡德去研发一台可以进行四则运算的机械计算器。

契克卡德计算钟三大功能区

契克卡德计算钟支持六位整数计算,主要分为加法器、乘法器和中间结果记录装置三部分。其中位于机器底座的中间结果记录装置是一组简单的置数旋钮,纯粹用于记录中间结果,仅仅是为了省去计算过程中笔和纸的参与,没什么可说的,我们详细了解一下加法器和乘法器的实现原理和使用方法。

乘法器部分其实就是对纳皮尔棒的改进,简单地将乘法表印在圆筒的十个面上,机器顶部的旋钮分有10个刻度,可以将圆筒上代表0~9的任意一面转向使用者,依次旋转6个旋钮即可完成对被乘数的置数。横向有2~9八根挡板,可以左右平移,露出需要显示的乘积。以1971年的纪念邮票上的图案为例,被乘数为100722,乘以4,就移开标数4的那根挡板,露出100722各位数与4相乘的积:04、00、00、28、08、08,心算将其错位相加得到最终结果402888。

为纪念契克卡德计算钟350周年,1973年西德发行的邮票。

加法器部分通过齿轮实现累加功能,6个旋钮同样分有10个刻度,旋转旋钮就可以置六位整数。需要往上加数时,从最右边的旋钮(表示个位)开始顺时针旋转对应格数。以笔者撰写该部分内容的时间(7月21日晚9:01)为例,计算721+901,先将6个旋钮读数置为000721:

随后最右边的(从左数第六个)旋钮顺时针旋转1格,示数变为000722:

第五个旋钮不动,第四个旋钮旋转9格,此时该旋钮超过一圈,指向数字6,而代表百位的第三个旋钮自动旋转一格,指向数字1,最终结果即001622:

这一过程最关键的就是通过齿轮传动实现的自动进位。契克卡德计算钟使用单齿进位机构,通过在齿轮轴上增加一个小齿实现齿轮之间的传动。加法器内部的6个齿轮各有10个齿,分别表示0~9,当齿轮从指向数字9的角度转动到0时,轴上突出的小齿将与旁边代表更高位数的齿轮啮合,带动其旋转一格(36°)。

单齿进位机构

相信聪明的读者已经可以想到减法怎么做了,没错,就是逆时针旋转加法器的旋钮,单齿进位机构同样可以完成减法中的借位操作。而用这台机器进行除法就有点「死脑筋」了,你需要在被除数上一遍又一遍不断地减去除数,自己记录减了多少次、剩余多少,分别就是商和余数。

由于乘法器单独只能做多位数与一位数的乘法,加法器通常还需要配合乘法器完成多位数相乘。被乘数先与乘数的个位相乘,乘积置入加法器;再与乘数十位数相乘,乘积后补1个0加入加法器;再与百位数相乘,乘积后补2个0加入加法器;以此类推,最终在加法器上得到结果。

总的来说,契克卡德计算钟结构比较简单,但也照样称得上是计算机史上的一次伟大突破。而之所以被称为计算钟,是因为当计算结果溢出时,机器还会发出响铃警告,在当时算得上十分智能了。可惜的是,契克卡德制造的机器在一场火灾中烧毁,一度鲜为人知,后人从他在1623年和1624年写给开普勒的信中才有所了解,并复制了模型机。

帕斯卡加法器(Pascaline)

研制时间:1642年~1652年

布莱斯·帕斯卡(Blaise Pascal 1623-1662),法国数学家、物理学家、发明家、作家、哲学家。

1639年,帕斯卡的父亲开始从事税收方面的工作,需要进行繁重的数字相加,明明现在Excel里一个公式就能搞定的事在当时却是件大耗精力的苦力活。为了减轻父亲的负担,1642年起,年方19的帕斯卡就开始着手制作机械式计算器。刚开始的制作过程并不顺利,请来的工人只做过家用的一些粗糙机械,做不来精密的计算器,帕斯卡只好自己上手,亲自学习机械制作。

现在想想那个生产力落后的时代,这些天才真心牛逼,他们不仅可以是数学家、物理学家、天文学家、哲学家,甚至还可能是一顶一的机械师。

帕斯卡加法器,顾名思义,只实现了加减法运算,按理说原理应该非常简单,用契克卡德的那种单齿进位机构就可以实现。而帕斯卡起初的设计确实与单齿进位机构的原理相似(尽管他不知道有契克卡德计算钟的存在)——长齿进位机构——齿轮的10个齿中有一个齿稍长,正好可以与旁边代表更高数位的齿轮啮合,实现进位,使用起来与计算钟的加法器一样,正转累加,反转累减。

长齿进位机构

但这一类进位机构有着一个很大的缺陷——齿轮传动的动力来自人手。同时进行一两个进位还好,若遇上连续进位的情况,你可以想象,如果999999+1,从最低位一直进到最高位,进位齿全部与高位齿轮啮合,齿轮旋转起来相当吃力。你说你力气大,照样能转得动旋钮没问题,可齿轮本身却不一定能承受住这么大的力,搞不好容易断裂。

为了解决这一缺陷,帕斯卡想到借助重力实现进位,设计了一种叫做sautoir的装置,sautoir这词来自法语sauter(意为「跳」)。这种装置在执行进位时,先由低位齿轮将sautoir抬起,而后掉落,sautoir上的爪子推动高位齿轮转动36°,整个过程sautoir就像荡秋千一样从一个齿轮「跳」到另一个齿轮。

sautoir进位机构 (a)
sautoir进位机构 (b)
sautoir进位机构 (c)
sautoir进位机构 (d)
sautoir进位机构 (e)

这种只有天才才能设计出来的装置被以后一百多年的许多机械师所称赞,而帕斯卡本人对自己的发明就相当满意,他号称使用sautoir进位机构,哪怕机器有一千位、一万位,都可以正常工作。连续进位时用到了多米诺骨效应,理论上确实可行,但正是由于sautoir装置的存在,齿轮不能反转,每次使用前必须将每一位(注意是每一位)的齿轮转到9,而后末位加1用连续进位完成置零——一千位的机器做出来恐怕也没人敢用吧!

既然sautoir装置导致齿轮无法反转,那么减法该怎么办呢?帕斯卡开创性地引入了沿用至今的补码思想。十进制下使用补九码,对于一位数,1的补九码就是8,2的补九码是7,以此类推,原数和补码之和为9即可。在n位数中,a的补九码就是n个9减去a,以笔者撰写该部分内容的日期(2015年7月22日)为例,20150722的8位补九码是99999999 - 20150722 = 79849277。观察以下两个公式:

a的补九码:CV(a) = 9...9 - a

a-b的补九码:CV(a-b) = 9...9 - (a-b) = 9...9 - a + b = CV(a) + b

a-b的补码就是a的补码与b的和,如此,减法便可以转化为加法。

帕斯卡加法器在显示数字的同时也显示着其所对应的补九码,每个轮子身上一周分别印着9~0和0~9两行数字,下面一行该位上的表示原数,上面一行表示补码。当轮子转到位置7时,补码2自然显示在上面。

帕斯卡加法器的示数轮印有分别表示原数和补码的两行数字(图片来自《How the Pascaline Works》)
盖上盖子就是这样的(图片来自《How the Pascaline Works》,下同。)

帕斯卡加了一块可以上下移动的挡板,在进行加法运算时,挡住表示补码的上面一排数,进行减法时就挡住下面一排原数。

进行加法运算时,挡住表示补码的上面一排数。
进行减法时,挡住下面一排原数。

加法运算的操作方法与契克卡德计算钟类似,唯一不同的是,帕斯卡加法器需要用小尖笔去转动旋钮。这里主要说一说减法怎么做,以笔者撰写该部分内容的时间(2015年7月23日20:53)为例,计算150723 - 2053。

置零后将挡板移到下面,露出上面表示补码的那排数字:

输入被减数150723的补码849276,上排窗口显示的就是被减数150723:

加上被减数2053,实际加到了在下排的补码849276上,此时上排窗口最终显示的就是减法结果148670:

整个过程用户看不到下面一排数字,其实玄机就在里头,原理挺简单,09一轮回,却很有意思。

莱布尼茨计算器(Stepped Reckoner)

研制时间:1672年~1694年

戈特弗里德·威廉·莱布尼茨(Gottfried Wilhelm Leibniz 1646-1716),德国数学家、哲学家,历史上少见的通才,被誉为17世纪的亚里士多德。

由于帕斯卡加法器只能加减,不能乘除,对此莱布尼茨提出过一系列改进的建议,终究却发现效果不大。就好比自己写一篇文章很简单,要修改别人的文章就麻烦了。那么既然改进不成,就重新设计一台吧!

为了实现乘法,莱布尼茨以其非凡的创新思维想出了一种具有划时代意义的装置——梯形轴(stepped drum),后人称之为莱布尼茨梯形轴。莱布尼茨梯形轴是一个圆筒,圆筒表面有九个长度递增的齿,第一个齿长度为1,第二个齿长度为2,以此类推,第九个齿长度为9。这样,当梯形轴旋转一周时,与梯形轴啮合的小齿轮旋转的角度就可以因其所处位置(分别有0~9十个位置)不同而不同。代表数字的小齿轮穿在一个长轴上,长轴一端有一个示数轮,显示该数位上的累加结果。置零后,滑动小齿轮使之与梯形轴上一定数目的齿相啮合:比如将小齿轮移到位置1,则只能与梯形轴上长度为9的齿啮合,当梯形轴旋转一圈,小齿轮转动1格,示数轮显示1;再将小齿轮移动到位置3,则与梯形轴上长度为7、8、9的三个齿啮合,小齿轮就能转动3格,示数轮显示4;以此类推。

莱布尼茨梯形轴 (a)
莱布尼茨梯形轴 (b)

除了梯形轴,莱布尼茨还提出了把计算器分为可动部分和不动部分的思想,这一设计也同样被后来的机械计算器所沿用。莱布尼茨计算器由不动的计数部分和可动的输入部分组成,机器版本众多,以德意志博物馆馆藏的复制品为例:计数部分有16个示数轮,支持16位结果的显示;输入部分有8个旋钮,支持8位数的输入,里头一一对应地安装着8个梯形轴,这些梯形轴是联动的,随着机器正前方的手柄一同旋转。机器左侧的手柄借助蜗轮结构实现可动部分的左右平移,手柄每转一圈,输入部分移动一个数位的距离。

保存在德意志博物馆的莱布尼茨计算器复制品

进行加法运算时,先在输入部分通过旋钮置入被加数,计算手柄旋转一周,被加数即显示到上方的计数部分,再将加数置入,计算手柄旋转一周,就得到计算结果。减法操作类似,计算手柄反转即可。

进行乘法运算时,在输入部分置入被乘数,计算手柄旋转一周,被乘数就会显示到计数部分,计算手柄旋转两周,就会显示被乘数与2的乘积,因此在乘数是一位数的情况下,乘数是多少,计算手柄旋转多少圈即可。那么如果乘数是多位数呢?这就轮到移位手柄登场了,以笔者撰写该部分内容的日期(7月28日)为例,假设乘数为728:计算手柄先旋转8周,得到被乘数与8的乘积;而后移位手柄旋转一周,可动部分左移一个数位,输入部分的个位数与计数部分的十位数对齐,计算手柄旋转2周,相当于往计数部分加上了被乘数与20的乘积;依法炮制,可动部分再左移,计算手柄旋转7周,即可得到最终结果。

可动部分右侧有个大圆盘,外圈标有0~9,里圈有10个小孔与数字一一对应,在对应的小孔中插入销钉,可以控制计算手柄的转动圈数,以防操作人员转过头。在进行除法时,这个大圆盘又能显示计算手柄所转圈数。

进行除法运算时,一切操作都与乘法相反。先将输入部分的最高位与计数部分的最高位(或次高位)对齐,逆时针旋转计算手柄,旋转若干圈后会卡住,可在右侧大圆盘上读出圈数,即为商的最高位;逆时针旋转位移手柄,可动部分右移一位,同样操作得到商的次高位数;以此类推,最终得到整个商,计数部分剩下的数即为余数。

最后提一下进位机构,莱布尼茨计算器的进位机构比较复杂,但基本就是单齿进位的原理。然而莱布尼茨没有实现连续进位,当产生连续进位时,机器顶部对应的五角星盘会旋转至角朝上的位置(无进位情况下是边朝上),需要操作人员手动将其拨动,完成向下一位的进位。

托马斯四则计算器(Arithmometer)

研制时间:1818年~1820年

查尔斯·泽维尔·托马斯(Charles Xavier Thomas 1785-1870),法国发明家、企业家。

以往的机械式计算器通常只是发明者自己制作了一台或几台原型,帕斯卡倒是有赚钱的念头,生产了20台加法器,但是根本卖不出去,这些机器往往并不实惠,也不好用。托马斯是将机械式计算器商业化并取得成功的第一人,他不仅成为了机械式计算器的发明家,更成为了牛逼的企业家(创办了当时法国最大的保险公司)。从商之前,托马斯在法国军队从事过几年部队补给方面的工作,需要进行大量的运算,正是在这期间萌生了制作计算器的念头。他从1818年开始设计,于1820年制成第一台,次年生产了15台,往后持续生产了约100年。

托马斯四则计算器生产情况(其中40%在法国内销,60%出口到其他国家)

托马斯四则计算器基本采用莱布尼茨的设计,同样使用梯形轴,同样分为可动和不动两部分。

托马斯四则计算器的操作界面(原图来自《How the Arithmometer Works》)

所不同的是, 它的手柄在加减乘除情况下都是顺时针旋转,示数轮的旋转方向通过与不同方向的齿轮啮合而改变。

(原图来自《How the Arithmometer Works》)

此外,托马斯还做了许多细节上的改进(包括实现了连续进位),量产出来的机器实用、可靠,因而能获得巨大成功。

鲍德温-奥德纳机(Pinwheel calculator)

研制时间:1874年

弗兰克·史蒂芬·鲍德温(Frank Stephen Baldwin 1838-1925),美国发明家。W.T.奥德纳(Willgodt Theophil Odhner 1845-1905),瑞典人,俄国发明家、工程师、企业家。

莱布尼茨梯形轴虽然好用,但由于其长筒状的形态,机器的体积通常很大,某些型号的托马斯四则计算器摆到桌子上甚至要占掉整个桌面,而且需要两个人才能安全搬动,亟需一种更轻薄的装置代替梯形轴。

这一装置就是后来的可变齿数齿轮(variable-toothed gear),在17世纪末到18世纪初,有很多人尝试研制,限于当时的技术条件,没能成功。直到19世纪70年代,真正能用的可变齿数齿轮才由鲍德温和奥德纳分别独立制成。该装置圆形底盘的边缘有着9个长条形的凹槽,每个凹槽中卡着可伸缩的销钉,销钉挂接在一个圆环上,转动圆环上的把手即可控制销钉的伸缩,这样就可以得到一个具有0~9之间任意齿数的齿轮。

可变齿数齿轮
可变齿数齿轮传动示意(以7为例)

齿轮转一圈,旁边的被动轮就转动相应的格数,相当于把梯形轴压成了一个扁平的形状。梯形轴必须并排放置,而可变齿数齿轮却可以穿在一起,大大缩减了机器的体积和重量。此类计算机器在1885年投产之后风靡世界,往后几十年内总产量估计有好几万台,电影《横空出世》里陆光达计算原子弹数据时所用的机器就是其中之一。

菲尔特自动计算器(Comptometer)

研发时间:1884年~1886年

菲尔特(Dorr Eugene Felt 1862-1930),美国发明家、实业家。

上述的机器似乎已经发展到十分完美的程度了,可与今人概念中的计算操作始终存在着一道巨大屏障——没有按键。

好在那个年代的人们发现旋钮置数确实不太方便,最早提出按键设计的应该是美国的一个牧师托马斯·希尔(Thomas Hill),计算机史上有关他的记载貌似不多,好在还能找到他1857年的专利,其中详细描述了按键式计算器的工作原理。起初菲尔特只是根据希尔的设计简单地将按键装置装到帕斯卡加法器上,第一台菲尔特自动计算器就这么诞生了。

托马斯·希尔(Thomas Hill 1818-1891),美国数学家、科学家、哲学家、教育家、牧师。

菲尔特自动计算器采用的是“全键盘”设计(也就是希尔提出的设计),每个数位都有1~9九个按键(0不需要置数),某个数位要置什么数,就按下该数位所对应的一列按键中的一个。每列按键都装在一根杠杆上,杠杆前端有一个叫做Column Actuator的齿条,按下按键带动杠杆摆动,与Column Actuator啮合的齿轮随之旋转一定角度。按键1~9按下时杠杆摆动的幅度递增,示数轮随之转动的幅度也递增,如此就实现了按键操作到齿轮旋转的转化。

菲尔特自动计算器按键结构(原图来自《How the Comptometer Works》)

1889年,菲尔特又发明了世界上第一台能在纸带上打印计算结果的机械式计算器——Comptograph,相当于给计算器引入了存储功能。

1914年的Comptograph(有点像现在超市里出小票的收银机)

1901年,人们开始给一些按键式计算器装上电动马达,计算时不再需要手动摇杆,冠之名曰「电动计算机」,而此前的则称为「手摇计算机」。

Ellis电动计算机(图片来自《The calculating machines (Die Rechenmaschinen) : their history and development》)

1902年,出现了将键盘简化为「十键式」的道尔顿加法器,不再是每一位数需要一列按键,大大精简了用户界面。

1930年左右的道尔顿加法器

1961年,菲尔特自动计算器被改进为电子计算器,却依然保留着「全键盘」设计。

由菲尔特自动计算器发展而来的电子计算器ANITA Mk VIII,依然保持着「全键盘」界面。

参考文献

[1] 陈厚云, 王行刚. 计算机发展简史[M]. 北京: 科学出版社, 1985.

[2] 吴为平, 严万宗. 从算盘到电脑[M]. 长沙: 湖南教育出版社, 1986.

[3] 胡守仁. 计算机技术发展史(一)[M]. 长沙: 国防科技大学出版社, 2004.

[4] Wikipedia. Wilhelm Schickard[EB/OL]. https://en.wikipedia.org/wiki/Wilhelm_Schickard, 2015-07-12.

[5] yi_ting_su. 计算工具——机械计算机(Mechanical Calculators)(二)[EB/OL]. http://blog.sina.com.cn/s/blog_a3144172010139kr.html, 2012-05-04.

[6] Wikipedia. Blaise Pascal[EB/OL]. https://en.wikipedia.org/wiki/Blaise_Pascal, 2015-07-21.

[7] Wikipedia. Pascal's calculator[EB/OL]. https://en.wikipedia.org/wiki/Pascal%27s_calculator, 2015-07-21.

[8] MechanicalComputing. How the Pascaline Works[EB/OL]. https://www.youtube.com/watch?v=3h71HAJWnVU, 2012-03-09.

[9] yi_ting_su. 计算工具——机械计算机(Mechanical Calculators)(二)[EB/OL]. http://blog.sina.com.cn/s/blog_a314417201013fym.html, 2012-05-10.

[10] Wikipedia. Gottfried Wilhelm Leibniz[EB/OL]. https://en.wikipedia.org/wiki/Gottfried_Wilhelm_Leibniz, 2015-07-29.

[11] N.A.阿波京, JI.E.梅斯特洛夫. 计算机发展史[M]. 上海: 上海科学技术出版社, 1984.

[12] Wikipedia. Stepped Reckoner[EB/OL]. https://en.wikipedia.org/wiki/Stepped_Reckoner, 2015-02-04.

[13] Wikipedia. Charles Xavier Thomas[EB/OL]. https://en.wikipedia.org/wiki/Charles_Xavier_Thomas, 2015-05-02.

[14] Wikipedia. Arithmometer[EB/OL]. https://en.wikipedia.org/wiki/Arithmometer, 2015-06-20.

[15] MechanicalComputing. How the Arithmometer Works[EB/OL]. https://www.youtube.com/watch?v=nyCrDI7hRpE, 2014-04-05.

[16] Wikipedia. Frank Stephen Baldwin[EB/OL]. http://en.wikipedia.org/wiki/Frank_Stephen_Baldwin, 2015-02-04.

[17] Wikipedia. Willgodt Theophil Odhner[EB/OL]. http://en.wikipedia.org/wiki/Willgodt_Theophil_Odhner, 2015-05-03.

[18] Wikipedia. Pinwheel calculator[EB/OL]. http://en.wikipedia.org/wiki/Pinwheel_calculator, 2014-07-21.

[19] Wikipedia. Timeline of computing hardware 2400 BC–1949[EB/OL]. http://en.wikipedia.org/wiki/Timeline_of_computing_hardware_2400_BC%E2%80%931949#1800.E2.80.931899, 2015-05-05.

[20] MechanicalComputing. How Pinwheel Calculators Work[EB/OL]. https://www.youtube.com/watch?v=YXMuJco8onQ, 2012-07-02.

[21] Wikipedia. Dorr Felt[EB/OL]. https://en.wikipedia.org/wiki/Dorr_Felt, 2015-04-30.

[22] Wikipedia. Comptometer[EB/OL]. https://en.wikipedia.org/wiki/Comptometer, 2015-06-27.

[23] Wikipedia. Thomas Hill (clergyman)[EB/OL]. https://en.wikipedia.org/wiki/Thomas_Hill_(clergyman), 2015-06-14.

[24] Thomas Hill. Arithmometer[P]. 美国专利: 18692, 1857-11-24.

[25] MechanicalComputing. How the Comptometer Works[EB/OL]. https://www.youtube.com/watch?v=SbJpufimfdM, 2012-01-30.

[26] Wikipedia. Mechanical calculator[EB/OL]. https://en.wikipedia.org/wiki/Mechanical_calculator, 2015-07-11.

[27] Martin E, Kidwell P A, Williams M R. The calculating machines (Die Rechenmaschinen) : their history and development[M]// MIT Press , Tomash Publishers, 1992.

[28] Wikipedia. Sumlock ANITA calculator[EB/OL]. https://en.wikipedia.org/wiki/Sumlock_ANITA_calculator, 2015-03-28.

[29] 机械美学. 【精算之美】It's ALIVE!神奇而复杂的古董机械计算器[EB/OL]. http://mp.weixin.qq.com/s?__biz=MzA4NjY5NjQxNA==&mid=204871557&idx=1&sn=c7e86003623ad743c1b716ce5e42664f, 2014-12-17.

你可能感兴趣的:(机械之美——机械时期的计算设备)