《编码:隐匿在计算机软硬件背后的语言》笔记05

第七章 我们的十个数字

        首先说明,1-9这些数码只是一种符号,表示数字的符号,实际上,数字是集合的抽象,如,3个苹果、3个人等等的集合具有相同的属性——集合的数量是3,现在人们已经自然而然的使用这些数码来表示数,但实际上,我们完全可以使用“*”之类的完全自定义符号来表示3所表示意义,而且从逻辑的角度看,后续的四则运算等全部数学运算都可以按照原定的规则正常进行,所不同的仅仅是表示的符号不一样,比如使用汉字的“一二三四。。。”也可以表示上述运算,而且,在相当长的时间里,我们的国家就是这样使用的,当然,现在我们已经熟悉了阿拉伯数字的表示方式,但作者希望说明,选择什么符号表示数是可以根据需要随时改变的。

        使用十进制而不是其他进制大概源于人类的手指有10个,digit这个词也有手指、脚趾的意思。

        与我们国家的“一二三四。。。”对应的是欧洲的罗马数字,二者的相同之处在于,二者均使用了相当长的时间,同时,二者的乘除法是比较麻烦的。

        阿拉伯数字不同于其他数字系统,阿拉伯数字是位置相关的,同一个数字在不同的位置上表示不同的含义;阿拉伯数字中没有表示10的数码;阿拉伯数字中有一个其他绝大多数计数法中没有的符号——0.

这使得阿拉伯数字可以使用类似于10的降幂排列的方法来表示——最高位数码*10^n+次高位数码*10^n-1+......,注意,这个过程可以一致持续下去,因为还有小数部分,更进一步,这使得用科学计数法表示数成为可能,而科学计数法是实现用浮点数表示数的基本方法。

        阿拉伯数字系统这种与位置相关的计数法的另一个好处就是将加法规则和乘法规则转换成了一个10*10的表格,只要记住这个表格,就可以熟练进行这几种运算,这就是我们小时候背诵乘法表和加法表的原因。

        再推广一下,位置记数法的好处就是,即使不是10进制,其他进制的表示和运算也是可以使用相似的规则来表示的,比如12进制、60进制,以及计算机中常用的16进制和8进制、二进制。

附:由于人类有10个手指头,所以发展出了10进制,鉴于卡通人物一般只有4个手指头,对于他们而言,8进制是自然而然的选择,10进制反而显得有些奇怪。

总之,本章的内容需要具有能够跳出一般规则的想象力,数学系的学生可能比较容易理解。

猜你喜欢

转载自blog.csdn.net/cgch_cn/article/details/6287402