奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 254 页

PDF 物理页索引 270 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
254
PDF 物理页
270(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
591c118e50641a298c59c5985d03654bf49a37133ec9e7160ec6524a0b0d3226

成的自画像。

在18世纪(直到20世纪40年代),计算机就好比一个以计算维持生计的人,而计算能力就好比计算机的生命线。在这个用天上星辰进行航海导航的时期,经常要用到对数表,而三角函数表对航海导航也非常重要。此外,如果你想要发表新数学表,就需要使用许多台计算机,让它们一起工作,最后将所有的结果汇总成一张表。当然,从初始计算到设置打印最终结果,每一个阶段都可能会出现意想不到的错误。

为了消除数学表中错误,英国数学家和经济学家查尔斯·巴贝芝(Charles Babbage,1791-1871,见右图)勤奋工作,他和塞缪尔·莫尔斯(Samuel Morse)差不多是同时代的人。

在那个时期,数学表(例如对数表)并没有计算表中每一一项的确切对数值,因为那样做将耗费太多时间。取而代之的方法是选择性的对数计算,即选取一些数字进行对数计算,而对于介于

这些数字之间的数的对数则采用插补法进行填充,即差分法(differences),通过相对简单的计算求得结果。

大约在1820年,巴贝芝认为他可以设计制造一台可以自动建表,甚至可以自动设置打印类型的机器,这种机器可以完全消除上述错误。因此他设想出了差分机(DifferenceEngine),从本质上讲差分机是一个大型机械加法器。在差分机中,多位的十进制数通过可以啮合在10个不同位置的轮子表示,而负数用10的补数来表示。尽管早期一些模型表明巴贝芝的设计是完全可行的,而且他也获得了英国政府的一些资金支持(当然不是很多),但差分机却从来没有完成过,在1833年,巴贝芝放弃了这项工作。

可正在那个时候,巴贝芝有了一个更好的想法,那就是解析机(AnalyticalEngine),他的后半生一直都在不断重复地设计与修改(其间还制作过几个小模型以及部分构件)这个机器,直到其生命的尽头。解析机是19世纪最接近于计算机的器件,在巴贝芝的设计中,解析机包含一个存储部件(类似于现在存储器的概念)和一个运算部件(类似于算术逻辑单元)。乘法可以通过重复的加法运算求解,同样的,除法可以通过重复的减法求解。

解析机最令人着迷的地方在于,可以使用改造的杰奎德织布机中的卡片来编程。正如奥古斯塔·艾达·拜伦(Augusta AdaByron,1815-1852),即拉弗雷斯女伯爵对解析机的评价(这句话出于她翻译的一篇由意大利数学家撰写的关于巴贝芝解析机的文章):“我们可以肯定地说,正如杰奎德提花织布机织出了花瓣和树叶,解析机编织出了代数的结构模型。”

编码—隐匿在计算机软硬件背后的语言

254