第45章
作者:弗雷德里克·波尔    更新:2021-12-06 19:05
  如果要将书写数目的系统改观,你就必须更换几乎所有的有记载的人类知识的整体——这包括试验室报告和税务回票,价格核算和计时方法,有关介子行为的知识,以及纽约股票交易所的交易情报等等。
  将世界上的主要文字记载从一种数目制转化为另一种,这样的计划是有碍于思维的。它的代价不仅无法以亿万美元来计算,而且即使花费人类亿万年时间或许也无法完成。
  既然如此,为什么这种庞大的计划现在还要实施呢?
  简单地讲,其答案是,机器也并不比俄国农夫敏捷多少。
  这并不是说蔑视俄国人,而只是说全能自动电脑跟俄国农夫伊万有许多共同之处——这些共同之处中有一点就是,在进行十进位乘法和除法时技巧的缺乏。
  让我们看看一个简单的数目——比如,87*93——看看我们,伊万,还有全能自动电脑是怎么算的。我和你,由于至少在年级制学校读过几年书,就会写下一个如此简洁的运算式:
  87
  *93
  ————
  261
  783
  ————
  8091
  这并不难算。如果情况不允许,我们也有可能在脑子里算出来。
  但是,伊万却觉得万分艰难,因为他恰恰没有进过等级制学校(全能自动电脑也是如此)。伊万如果做类似的算题,就会使用一种被称为“俄国”——有时也被称为“半数跟加倍”(也就是指“调中跟重复”)的计算方法。这样计算时,只需将两列数目一边挨一边写下来。
  第一列是以原数开始的,这个数字不断被二分,直到无法二分为止。伊万对分数一窍不通,所以他的算法是把数目去掉——比如,他把12当做25的半数。
  第二列是以另一个数字开始的,以第一列原数二分的次数不断加倍。运算如下:
  8793
  43186
  21372
  10744
  51488
  22976
  15952
  算到这里之后,伊万看看左边或二分列中,找出偶数。他找到其中有两个——第四个数10,还有第六个数2。他将跟它们平行的右边(或加倍)列中的数目——也就是说,744和2976划掉。然后,将右列中余剩的数目加起来:
  93
  186
  372
  1488
  5952
  ——
  8091
  可以看出,在曲曲折折费尽气力之后,伊万大功告成,算出了跟用乘法得出的同样的答案。
  乍一看来,这并不是什么尽善尽美的方法。如果你想起伊万浑然不知乘法表为何物,你就会认为此法确实灵巧非凡。而伊万则摇身一变成为聪慧儒雅之辈。
  不过,他并非那么聪慧儒雅,而依然一如愚人。但是,你如果责怪他从数目的二进位制求取帮助,他就会公开嘲笑你。
  但不管怎样,这便可证明他算出来了。而且全能自动电脑及其电子同胞兄弟们今日也是这样算的。
  为证实全能自动电脑是怎样运算的,让我们把某些数目拆开,看看其中包括些什么。
  我们的二进位数目——比如说,87——实际上就是一种速记形式,(在这一例中)是8^1*10^1加7*10^0的“定位”讲法。数字越大,速记越显得短。比如1956,可写作:
  1*10^3=1000
  9*10^2=900
  5*10^1=50
  6*10^0=6
  ——————
  1956
  (为防止你上高中时间过长,10^1就是10的意思;10^0指10除以10,或者是1。无论你上高中有多长时间,都应该记着10^2的意思是10乘以10,或者是100,如此类推。)
  在许多科学幻想小说中(别处很少见),都说这十进位制属于人类的“天生的”数数制。因为,你瞧,我们每一个人不都有双手十指吗?我们切不要把它作为理论而纠缠不休。它如果真是这样,那么当我们的探索火箭发现十二进位的天外地域(或者换言之,当我们的考古学家发现古巴比伦人比我们现代人多六倍的指头)时,它就可通过大量的机会证实自身。此外,假若我们认定这个故事天经地义,那么我们便可对全能自动电脑做出这样的“解释”:由于计算机设有可用来查数的手指,所以不得不运用一种更简单的方法。这种更简单的体制,其名称就是“二重”或“二进”制。世界上大多数数目现在都正被翻译进这种体制,以求被输入、被消化在电脑中。
  二进位制恪守十进位制的所有规则。它属于定位性的;它可以表示任何有限数目;它可以用来加、减、乘、除,求指数,以及人类及全能自动电脑所知的任何代数方程。惟一的差别是:它的基数是2,不是10。它削去十进位数中的10个基数中的8个——2,3,4,5,6,7,8和9——只剩下0和1。
  当然了,你是可以这样来算数的。1是一;10是二;11是三;100是四;101是五;110是六;111是七;1000是八;1001是九;1011是十;如此类推。用它可加可减:
  四100
  加三11
  ——————
  等于七111
  用它可乘可除:
  六110
  被三除11
  ——————
  等于二10
  你可以不费吹灰之力算出来,而无需背诵乘法口诀。这样使你的青春时光自由自在,在夜晚尽情欣赏棒球比赛,或者访朋问友。
  回过头来再看一下伊万的俄国式乘法;让我们以稍微不同的方式再重新运算一遍。让我们将两列数目都二分,左右都是这样。我们不再削掉数字,而要在奇数边上注上“1”,在偶数边写上“0”,这样:
  871931
  431460
  211231
  100111
  5151
  2020
  1111
  现在,你可能还不知道,你做出的结果是什么样子——伊万肯定也闻所未闻——实际上你已经将两个十进位数转化成二进位数的对等物了。从下向上读,1010111是二进位中的87,1011101是二进位中的93。
  要理解这样做的意思,就要牢记我们是如何将一个十进位数分开的。一个二进位数也可以分成同样的份数。惟一的区别是,份数是2的乘方相乘,而不是10的乘方相乘。这样的话,1010111,就是下边说法的速记形式:
  1*2^6=64
  0*2^5=0
  1*2^4=16
  0*2^3=0
  1*2^2=4
  1*2^1=2
  1*2^0=1
  ————
  87
  这就是我们刚才提到的原来的数字形式。
  如果你将87和93这样的数字输入全能自动电脑,它的消化功能就会给搞乱——实际上,除非这些数字先被消化,否则它就无法消受。所以你必须像我们上面所做的那样,先将它们转化成二进位数目(“数字”或“数点”)。诸如1010111和1011101这样的二进位数,全能自动电脑处理得非常好。想做乘法吗?毫无困难。全能自动电脑,依其电子途径,会如是而行:
  1010111
  *1011101
  ———————
  1011111
  0
  1010111
  1010111
  1010111
  0
  1010111
  ———————
  1111110011011
  这看起来叫人害怕,因为人们对这种东西很不熟悉;但是,得出的结果仍然跟87*93是一样的;它是下式的速记形式:
  1*2^124096
  1*2^112048
  1*2^101024
  1*2^9512
  1*2^8256
  1*2^7128
  0*2^60
  0*2^50
  1*2^416
  1*2^38
  0*2^20
  1*2^12
  1*2^01
  ——————
  8091
  请看,这多么简洁!尽管数目很大,但可以看到处理时又变得多么快捷。
  又比如,加法变成简单的计数(当然是二进位数——1,10,11,100等等的计数。如果愿意,你可以称之为“一”,一十”,“十一”,以及“一百”等等,并无妨碍)。将一组数目相加,比如:
  101
  100
  110
  111
  ———
  10110
  你只需简单地数右栏数字(1,10;写下0和1表示);然后数中栏数字,当然要从一开始算起(1,10,11;写下1和1表示);然后数左栏数字,还是从一开始算起(1,10,11,100,101;写下1和10表示;写下10)。
  我认为,这跟一个代数式一样容易计算,乘法也差不多是这样。乘法只用写下数目,将位中的一个适当数目向左移,或者根本无需写下数目(取决于你是用“1”还是“0”乘那个数字)。因此,此外不外是相加;而相加已如上述,不过是数数而已,完全用不着乘法表!