2004年12月31日星期五

〖转〗一位数学工作者对二进制的看法

一位数学工作者对二进制的看法
东郭先生
先说一个好玩的题目。假设有一块金子重n克,n是小于等于15的正整数。给你一架天平,你至少需要几块砝码才能确定这块金子的重量?
莱布尼茨说你只需要四块分别重1克,2克,4克,8克的砝码就行了。为什么?想必你已经知道答案了。
如果你喜欢耍点小聪明,你会说只要后三个就行了。不需要那个1克重的砝码。不过,这有什么关系呢?莱布尼茨只是想告诉你二进制是有点用处的。
其实不是莱布尼茨最早发明了二进制。当然我们也不知道伏羲是否真的发明了二进制。有据可查的是比毕莱布尼茨还要早1500多年的印度人Pingala,这个人还明确写出了二进制和十进制之间的转换公式。而我们却找不到任何证据能说明伏羲真地把那些短短长长的符号当成数字加加减减过。最气人的就是我的一个本家,非要说那些符号只代表生殖器,长的代表男人的,至于中间有缝隙的,那就不用说了。如此一来,那些符号只是一大堆生殖器而已。
从数学的角度来看,如果承认那些符号是二进制,就要承认我们早就有了0的概念了。这可是不得了的成就。外行人可能不知道,0的出现在数学史上是惊天辟地的事情。而且是非常非常晚的事情。
以前的人也可以处理0,但是他们是当成"无"来处理的。比如弄一个字,一个怪怪的符号或者空出一个位置来表示0。比如印度人就宣称他们在3000多年前就开始使用0了。但是,好,我们承认你有了0,那为什么距今不到两千年的Pingala的二进制系统是从1开始的呢?而与之形成鲜明对比的是在莱布尼茨的文章里,非常明确,非常明显,二进制的第一个数字是0。以一个数学工作者的眼光来看,只有当你把0和1,2 平等看待的时候,你才真正理解了0。
罗马曾经有足以自傲的文明,可是我们现在写的罗马数字里面有0吗?在公元8世纪的时候,在罗马数字记号系统里才开始有一个符号代表0,这就是"N",代表虚无。说明在这个时候,人们依然把0看成一个怪物。
实际上真正将0和其他数一样平等看待,一起运算的历史不过几百年而已。
如果说坤卦代表0的话,那真的是不得了的事情。因为从形状里可以看出这个0跟其它的数字是平等的,完全看不到一点点特殊性。仅此一点给中华文明带来的光荣将远远超过"四大发明"。

没有评论: