前段时间读了一本关于黑客的小说《巅峰黑客》,其中介绍了用《周易》原理进行软件编程和硬件的改造,并对二进制的由来进行了阐述。但是小说终归是小说,不过其中的道理我觉得挺不错。
首先来看百度百科中关于莱布尼茨的贡献的描述:
计算机科学贡献:
莱布尼茨对计算机的贡献不仅在于乘法器,公元1700年左右,莱布尼茨从一位友人送给他的中国“易图”(八卦)里受到启发,最终悟出了二进制数之真谛。虽然莱布尼茨的乘法器仍然采用十进制,但他率先为计算机的设计,系统提出了二进制的运算法则,为计算机的现代发展奠定了坚实的基础。
再来看关于二进制的描述:
莱布尼茨和八卦:
这份手稿完成的时候,莱布尼茨五十岁。毫无疑问,他是这个作为现代计算机技术的基础的二进制的发明者。而且,在此之前,或者与他同时,似乎没有一个人想到过这个问题。这在数学史上是很罕见的。
莱布尼茨不仅发明了二进制,而且赋予了它宗教的内涵。他在写给当时在中国传教的法国耶稣士会牧师布维(Joachim Bouvet,1662 - 1732)的信中说:
“第一天的伊始是1,也就是上帝。第二天的伊始是2,……到了第七天,一切都有了。所以,这最后的一天也是最完美的。因为,此时世间的一切都已经被创造出来了。因此它被写作‘7’,也就是‘111’(二进制中的111等于十进制的7),而且不包含0。只有当我们仅仅用0和1来表达这个数字时,才能理解,为什么第七天才最完美,为什么7是神圣的数字。特别值得注意的是它(第七天)的特征(写作二进制的111)与三位一体的关联。”
布维是一位汉学大师,他对中国的介绍是17、18世纪欧洲学界中国热最重要的原因之一。布维是莱布尼茨的好朋友,一直与他保持着频繁的书信往来。莱布尼茨曾将很多布维的文章翻译成德文,发表刊行。恰恰是布维向莱布尼茨介绍了《周易》和八卦的系统,并说明了《周易》在中国文化中的权威地位。
八卦是由八个符号组构成的占卜系统,而这些符号分为连续的与间断的横线两种。这两个后来被称为“阴”、“阳”的符号,在莱布尼茨眼中,就是他的二进制的中国翻版。他感到这个来自古老中国文化的符号系统与他的二进制之间的关系实在太明显了,因此断言:二进制乃是具有世界普遍性的、最完美的逻辑语言。
另一个可能引起莱布尼茨对八卦的兴趣的人是坦泽尔(Wilhelm Ernst Tentzel),他当时是图灵根大公爵硬币珍藏室的领导,也是莱布尼茨的好友之一。在他主管的这个硬币珍藏中有一枚印有八卦符号的硬币。
二进制转化为十进制的方法:
第一位第二位第三位第四位
2^0 2^1 2^2 2^3 ………………依此类推
做法:例子:
1. 转化二进制的11 为十进制的数:
用第一位的数字乘2^0 用第二位的数乘2^1
相加它们,具体步骤:
1*2^0+1*2^1=3
2.转化二进制的1110为十进制的数:
(将二进制数字从右向左)用第一位的数字乘2^0 用第二位的数乘2^1
用第三位的数字乘2^2 用第四位的数乘2^3
相加他们,具体步骤:
0*2^0+1*2^1+1*2^2+1*2^3=14
注:1.除0外的任何数的零次方都是1,a^0=1 (a不等于0)
2.如果需要改n进制为十进制,只需要将上表变为:
第一位第二位第三位第四位
n^0 n^1 n^2 n^3……………………依此类推
转化方法跟二进制的一样,a进制,第n位乘a^n-1
我个人的一点体会就是中国文化博大精深,我们应该多多挖掘出来,将其用在科技发展上,就像周易中的一些道理,不光可以用在做人做事上,还可以用在编程当中。(当然这只是我从小说里看到的一些应用,自己还没有去研读《周易》)。
中国古代历来就有很多天才之士,无论是其对自然的观察、体悟还是对人生未来的看法,自有其妙处。但,并不能那古人的眼光来看待古人的那些辉煌的成就。我们应该以现代的角度来将老祖宗们的精华之作用在我们的最新发展中。
此文只是个人的一点小小的感想,期待高见!
2009年10月12日 发表于csdn博客- from the5fire.com
微信公众号:Python程序员杂谈