语言选择: 简体中文简体中文 line EnglishEnglish

行业资讯

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

  B体育手动时期的计算工具通常没有多少复杂的制作原理,许多经典的计算工具之所以强大,譬如算盘,是由于依托了强大的使用方法,工具本身并不复杂,甚至用现在的话来讲,是遵从着极简主义的。正因如此,在手动时期,人们除了动手,还需要动脑,甚至动口(念口诀),必要时还得动笔(记录中间结果),人工计算成本很高。到了17世纪,人们终于开始尝试使用机械装置完成一些简单的数学运算(加减乘除)——可不要小看了只能做四则运算的机器,计算量大时,如果数值达到上万、上百万,手工计算十分吃力,而且容易出错,这些机器可以大大减轻人工负担、降低出错概率。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  Arithmometer基本采用莱布尼茨的设计,同样使用梯形轴,同样分为可动和不动两部分。

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

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

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

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

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

  欣赏了这么多机器,好像总感觉哪里不对,似乎与我们今天使用计算器的习惯总有那么一道屏障……细细一琢磨,好像全是旋钮没有按键啊摔!

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

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

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

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

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

  1961年,Comptometer被改进为电子计算器,却依然保留着“全键盘”设计。

  最后,让我们一起来欣赏一下美国摄影师Kevin Twomey的摄影作品吧!这些图片均由不同焦距的多张照片经景深处理工具Helicon Focus拼合而成,十分精美。

  1.Kevin Twomey还为收藏这些机器的Mark Glusker拍了个小视屏,有各种机器运行时候的样子,值得一看。

  机械美学:古董机械计算器 via Kevin Twomey-高清观看-腾讯视频

  2. 国内也有一网友从意大利淘了一台1960年的电动计算机,并录制了使用演示视频。从视频中可以直观地感受到B体育,除法比加、减、乘慢得多,而我们现在其实已经知道了其中的原因。

  1. 在美深造学术能力一流的究极学霸——锁,精准地扒到大量珍贵文献和资料,为文中诸多信息的扩充和确认提供了巨大便捷。

  2. 拥有远大理想抱负做事踏实认线,没日没夜地帮助制作各类GIF示意图,为求精准,时不时还要返工。

  人类文明作为一个整体,其历史上的众多成果不可能是由单个人在一夜之间做到的,在一段时期内,对于某一类计算工具,往往会出现不少相似的版本,它们也许是相互借鉴、改进,也许是相对独立产生的,而有幸载入计算工具发展史的发明家其实有很多,要一一例举他们的发明与思想着实不在一篇概述性文章的能力范围之内,笔者精力也毕竟有限,因此本文只罗列具有代表性的或划时代的计算工具。

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

  《桃花都市》熊起小说免费阅读【桃花都市TXT】完整版 主角:熊起 简介:从小理想当老师的熊起,在遭遇了好友与女朋友...

  淘宝上有很多靠谱的放单平台,以下是三大平台的介绍: 1.氧惠APP 抖音购物、看电影、点外卖、打车用氧惠APP!更...

  独家无删《四海天骄》张一凡董小凡(笔趣阁)全文免费阅读 主角:张一凡董小凡 简介:一代天骄张一凡,放弃了显赫的家庭...

  《宦海浮沉》陈勃小说免费阅读【宦海浮沉TXT】完整版 主角:陈勃 简介:陈勃因为一个不能不还的人情,误入了一个无解...

  薇诺娜旗下的产品非常多,其中比较受大家欢迎的是薇诺娜舒敏保湿特护霜。当然,薇诺娜的全明星面膜套装也比较受大家的欢迎...

  爱奇艺极速版2023最新版是一款火爆全网的掌上影视播放神器,这款软件作为爱奇艺旗下的产品,拥有小内存、快速安装等特...

  随着互联网和数字媒体的迅猛发展,配音行业也在不断壮大。配音作为一项专业技能,广泛应用于电影、电视剧、广告、动画片等...

  如今是网络时代,也是自媒体兴盛的时代,比如微信公众号广受人们喜欢。然而,微信公众号的交易过程繁忙,为了保障自身利益...

  《前世被屠满门,她重生后杀疯了》萧谨元江初月&全文免费阅读完整版 主角:萧谨元江初月 简介:上一世,她为他谋权,为...

  本次为大家带来的是关于在京东、天猫购物前,先在购物返利app上领券的习惯是否有效的讨论。通过互联网收集相关信息,确...

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

  ☞ 欢迎来到神奇的01世界 ☜ 1672年的某一天,一位在德国政坛小有名气的年轻人受邀来访巴黎——一座大师荟萃的城...

  ☞ 欢迎来到神奇的01世界 ☜ 引子 一个问题:世界上谁发明了第一台机械式计算机? 长久以来,学界一致认为是布莱士...

  ☞ 欢迎来到神奇的01世界 ☜ 机械计算的历史在齿轮的转动下推进了两个世纪。齿轮要工作,必须给它一个旋转的动力,无...

  ☞ 欢迎来到神奇的01世界 ☜ 第一之争 契克卡德确实早于帕斯卡涉足机械计算,且史料表明,至少曾有一台计算钟是制作...