快捷搜索:  汽车  科技

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制去山上捡过材火的小伙伴一定知道,当我们捡到足够多的材火之后,就会用绳子绑成一捆,这样方便搬运。使用这样的方法,我们就可以表示更大的数字。例如,我们用1,2,3分别表示1根,2根,3根材火;当我们捡了9根材火,再往后就没有其他数字符号表示了,那么再捡一根材火,我们就绑成一捆,用10表示,这样我们还可以表示2捆(20),5捆(50)。这大概就是数字进制思想的起源。那么,如何用很少的符号,来表示很大的数字呢?以后如果碰到需要表示更多的东西,那么只要再发明新的符号,然后被接收并流传开来即可。8,9的符号表示但是,随着要记录的数量越来越大,就需要越来越多的符号来表示数字,必将使符号变得复杂,并且辨识度就会下降。所以,不停发明符号来表示更大的数字不是一个好的方法,因为人类不方便记那么多符号,而且即使一些聪明的人能够记住,但是数字符号最重要的是被广泛流传和接受,太多的符号,也不利于被广泛接受。

值此举国欢庆建国70周年之际,写下这篇文章,以表祝愿。祝愿祖国繁荣昌盛,早日登顶,制霸全球。

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制(1)

人类有了抽离出数字的想法之后,就需要使用符号来表示数字。起初,由于生产力有限,所要表示的数字不会太大。比如表示到7已经足够了,因为还没有超过7个我们关心的东西。假如使用下面的符号表示1-7。

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制(2)

1-7符号表示

以上符号是作者随便画的,只要足够简洁,有较高的区别度,并且能够流传开来,就可以作为数字使用。

以后如果碰到需要表示更多的东西,那么只要再发明新的符号,然后被接收并流传开来即可。

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制(3)

8,9的符号表示

但是,随着要记录的数量越来越大,就需要越来越多的符号来表示数字,必将使符号变得复杂,并且辨识度就会下降。所以,不停发明符号来表示更大的数字不是一个好的方法,因为人类不方便记那么多符号,而且即使一些聪明的人能够记住,但是数字符号最重要的是被广泛流传和接受,太多的符号,也不利于被广泛接受。

那么,如何用很少的符号,来表示很大的数字呢?

去山上捡过材火的小伙伴一定知道,当我们捡到足够多的材火之后,就会用绳子绑成一捆,这样方便搬运。使用这样的方法,我们就可以表示更大的数字。例如,我们用1,2,3分别表示1根,2根,3根材火;当我们捡了9根材火,再往后就没有其他数字符号表示了,那么再捡一根材火,我们就绑成一捆,用10表示,这样我们还可以表示2捆(20),5捆(50)。这大概就是数字进制思想的起源。

数字的进制表示,使得人类用有限(有限的符号)表示无限(足够大的数字),是人类文明史上一次伟大的思想进化。

有了数字的进制思想,那么就是决定采用多少作为一捆的问题了(多少进制)。这个大多根据人类掌握的规律以及习惯而定。目前人类普遍使用十进制,但是也有其他的进制,比如一个星期采用7进制,一天采用24小时制,小时和分秒采用60进制。

计算机采用二进制,因为计算机非常容易知道开关的开关状态,电压的高低状态,磁性介质的NS极状态。可以说,二进制是一种天然的进制,任何实物都有其两面性,白天与黑夜,前进或后退,向左和向右,生或死,。。。就像中国古人发明的太极图一样,你中有我,我中有你,相互对立,相互依存,缺一不可。

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制(4)

既然二进制是天然的进制,为什么人类不使用二进制,而是十进制呢?

首先是习惯的原因,人类选择10进制,很大部分原因是因为我们人类有10根手指头,10以内的数字,我们勾勾手指就能表示出来。如果有一种外星文明,他们那里的生物有八根手指,那么他们应该很大概率使用8进制。

其次使用二进制的话,很小的数就需要一串0,1表示,比如9,二进制为1001,有4位数字,不便于记录和书写方便。

那么使用更大的进制呢?更大的进制,表示我们需要发明更多的符号,比如十六进制(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F),无疑增加了记忆的难度(不是越多越好);而且,当我们进行基本运算的时候(加减乘除),我们从小背诵的99乘法表,就变成了15*15乘法表,59*59乘法表,想想也有点恐怖。

下面使用简单的模型来分析一下数字的进制。假如我们使用N进制,来表示第M个数字(0是第一个数字),那么需要logN(M)位表示,也就是说我们需要顺序地记住logN(M)个数字符号,再加上N个字符,我们定义记忆这个数的复杂度为F(N)=logN(M) N=ln(M)/ln(N) N,然后F(N)对N求导数d(F(N))/d(N)=1-ln(M)/ln(N)^2,令导数等于0,解得M=e^(N*ln(N)^2),表示使用N进制,在表示第M个数字的复杂度比较小。

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制(5)

上图表示的意思是,N进制只有在表示超过M的数时,才会相对于(N-1)进制表现出优势(F(N)定义的复杂度较小),例如10进制表示9.0*10^23级别的数字时,复杂度是34,9进制复杂度是35,而二进制复杂度是82。

在现实生活中,我们经常接触的数字并不会太大,所以太大进制并没有优势。在表示10进制的232038061(亿级别)时,10进制复杂度为19,6进制表示为35005214141,复杂度是17,而2进制表示为1101110101001001111010101101,复杂度是30。可见10进制与最优的6进制复杂度相差2,还是可以接收的。使用二进制有点恐怖了,你会发现你很难记住这个数。

你可能会觉得记忆10进制232038061比记忆6进制35005214141好记,位数明显更少。原因是你忽略了你已经熟练掌握了0-9的数字字符。假如是下面这样呢?

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制(6)

分别依此表示0-9的数字符号

你首先要记住每个符号是第几个符号(在脑中记住,不能用比标识,6进制只需记前6个字符)。然后翻译下面的数

十进制与阿拉伯数字:数字的进制表示--人类为何选择十进制(7)

上面一个是10进制,下面是6进制。

总而言之,10进制在我们经常接触的数字范围内,并不比最优进制差多少,而且经过熟练掌握10个字符,已经转换成固定脑力学习成本投入,在新表示一个数时,新增的脑力成本反而比低进制要少(因为位数少了)。也就是说,如果你熟练掌握100进制,并且熟练掌握99*99乘法表,那么别人10进制的乘法 265076*345443的6位数乘法,在你看来就是 26 50 76 * 34 54 43的3位数乘法。就像别人10进制 365*348那样简单,so easy!

最后,我觉得完美的进制应该是2的N次方进制的形式,比如8进制或者16进制。因为二进制是天然的进制,而2的N次方进制可以分段的转换成二进制(各数位互不影响),比如16进制A转换出二进制为1010,C转换成二进制为1100,那么AC转换成二进制就是 1010 1100,只要A和C分别转换,再连接就可以了。

正因为人类选择了10进制,所以在今天祖国70周年生日,才会如此隆重和受人关注。因为进位了,代表了一种进步,一种蜕变。祝愿祖国不断进步,不断强盛,期待100年的大庆!

猜您喜欢: