对于不同位数数字的表示,中国人和罗马人都用明确的单位来表示数字的不同量级,中国人是用个十百千万亿兆。
罗马人用I代表个,V代表5,X代表10,L代表50,C代表100,D代表500,M代表1000, 再往上就没有了。这两种表示法都不自觉地引入了朴素的编码的概念。
首先,它们都是用不同的符号代表不同的数字概念; 第二,它们分别制定了解码的规则。在中国,解码的规则是乘法。200万的写法含义是2x100x10000; 而在罗马,解码的规则是加减法——**小数字出现在大数字左边为减,右边为加。比如IV表示5-1=4, VII表示5 + 2= 7, IIXX表示20-2 = 18。这个规则不仅复杂,而且对于大的数字很难描述。罗马人要写100万的话,恐怕要MMMM......地不断写下去,写满一整块黑板, 直到近代他们才在M上用,上划线表示几万和几十万。因此,从编码的有效性来讲,中国人的做法比罗马人高明。
描述数字最有效的是古印度人,他们发明了包括0在内的10个阿拉伯数字, 就是今天全世界通用的数字。这种表示方法比中国和罗马的都抽象,但是使用方便。因此,它们由阿拉伯人传人欧洲后,马上得到普及。只是欧洲人并不知道这些数字的真正发明者是印度人,而把功劳给了“二道贩子”阿拉伯人。
References
吴军 数学之美 第三版