第一部分:整数与数论
正整数(旧定义)或非零整数(新定义)被称作自然数。顾名思义,这两种整数是对我们而言最为自然的数,也是最早在我们思维中诞生的数。无疑,整数是我们接触最为频繁的数;它平凡,因此毫不起眼,又因其并不起眼,我们往往理所当然地使用着它。然而,整数系统并不是真如我们下意识认为的那么理所当然:有这么一群数学家,他们尝试深入探究这种数的性质,这种计数系统的结构,仔细推敲其每个部分的唯一性。然后他们发现,简单的整数亦可以精彩纷呈。这群数学家的成果日渐丰富,直至自成一派;而数学的这个分支最终也有了一个名字——数论(Number theory),整数的理论。
薇儿希望从一个相当哲学性的话题开始:数字“1”是 什么。我们可以从很多个角度来看“是”这个词:我们完全能把“是”理解为“等同于”,“属于”,以及其他众多的含义。于是,这个问题也就有了相当多的解答。对于好争乐辩的哲学探索者而言,这是优良的谈资,也是展示学识的不二选。所以,围绕着这个问题,喋喋不休的争论,一直在持续。
但是,上述内容和薇儿的主题一毛线关系都没有。其实薇儿提到以上这点,只是为了带出下面的陈述:我们可以把1视作一个完全抽象的符号,一个没有被赋予任何意义的概念。为了避免争论,薇儿很谨慎地选择了“可以视作”这一陈述;但是,薇儿还是衷心希望大家在阅读本文的过程中暂时接受这一视角,同时也请把一切的整数运算视作一种符号之间的对应规则,而不是一种具象的计算。
上述思考方式被称作形式主义。薇儿可以很负责任地说,这是一种筛子级的方法论,它的逻辑漏洞早已被发现而且几乎不可补救。但薇儿依然希望大家暂时接受这一思考方式,因为这种思维模式对于薇儿的话题“计算机”依旧相当适用。在计算机中,数字“1”时而是一股脉冲电流,时而是一个微弱的电场,时而是一束定向的光,对它来说,“1”的意义是没有意义的。让我们尝试以计算机或计算机硬件工程师的视角看待这一切。
那么,上述内容跟薇儿的正题依然一毛线关系都没有。下面,言归正传。
薇儿本章的内容将开始于整数的运算。
首先,我们来看看基础中的基础,加法。薇儿之前提到我们在这里把整数运算视为符号的对应,这是什么意思呢?下面薇儿就用加法作为例子进行解释。请尝试一下进行一个简单的加法计算。有发现自己的思维是如何完成这个过程的吗?没有也不要紧。现在请留意自己的思维过程:请计算:6+2。显然,等于8。那么你有分辨出自己的思考过程吗?对于大部分人来说,整个过是这样的:首先,两个数是什么,是6和2。然后,6与2的和是几来着,回忆…回忆…哦,是8。具体的思维细节因人而异,但基本一般都是如此。尽管整个过程一闪而过,但是我们的脑中的确经历了这么一个过程。
说道这里,大家没有发现什么奇怪的地方吗?薇儿倒是认为一个地方挺别扭的:为什么计算过程里会出现“回忆”二字?这似乎说不通呢……如果您也觉得这里别扭的话,那么恭喜,因为这里就是薇儿这一段的中心问题。
很多人意识不到(当然也有少部分人思维不同),在进行加法的时候,我们也使用了一个与乘法表类似的“加法表”。当然,它并不一定以表格的形式储存在某个人的记忆中,但它记录着这么一串信息:从1到9分别与1到9相加的和分别是什么。而当我们处理加法的时候,我们首先读取加数与被加数,然后查阅记忆中的“表”以寻找对应的和。上述步骤就是薇儿之前提到的“符号对应”(学术性称呼:符号操作)。用更清晰的语言表达就是:我们声明了1, 2, 3, 4, 5, 6, 7, 8, 9, 0九个数码,然后声明了一种叫做“加”的关系,当我们使用“加”的时候,我们输入两个数码,被称为“加数”和“被加数”,然后返回一个数码,被称为“和”,而“和”与“加数”、“被加数”之间的对应关系由一个表格声明。
听着这些会不会有些别扭呢?明明是简单的加法非要弄得复杂无比什么的。这可能会让人索然无味,但薇儿要说,在后面,大家将会看到,计算机正是这么实现加法的。同时,细心的人可能留意到了,上文没有考虑进位的问题。这并不是薇儿的疏忽,事实上,薇儿会留着这个问题,以待讲述“模”的时候才会细说。