计算机与二进制

   我之前一直在思考为什么现在的计算机要采用二进制。现在我把我思考的结果和查阅的资料写下来。

    首先,我认为二进制实际上只是一种计数制,说白了就是用0,1两个符号来编码一切数值。而二进制与计算机的本质一点关系都没有,我觉得计算机的本质是通用图灵机,与什么二进制、布尔代数都没有关系(这两者只是制造计算机的一种方式而已)。

    至于为什么采用二进制,我觉得最重要的原因就是能稳定保持两种状态的电子元件很好制造,这就降低了成本(苏联历史上曾制造过三进制计算机)。接着,因为我们只用有两种状态的电子元件来制造计算机,所以之前十进制的电子计算机(ENIAC采用十进制而不是二进制!),我觉得其实也是用一定的位数来直接表示十进制数字的,于是所有的计算电路也是基于十进制计算的算法来设计的,这肯定大大增加了电路的复杂性。于是,之后冯诺依曼就提出直接用二进制来表示数值,这是非常自然的,因为电子元件本身就是双稳态的,用一个元件表示一个数位非常自然,而且因为采用二进制来表示数字,所以计算的算法就变为二进制数的算法,于是电路的设计大大简化。

    接下来再说说布尔代数。因为布尔代数所计算的值只有两种状态,真和假,也就是1和0啦。这就与电子元件的二元状态相吻合,而且人们后来发现布尔代数的计算都可以很简单的用电路来实现。于是两者一拍即合,用布尔代数的理论来指导电路的设计,用布尔代数对0和1的处理来不断的组合出更加复杂的运算,如二进制加法运算等等。所以说啊,我觉得如果我们能很好的制造出三稳态的电子元件,计算机就很有可能采用三进制了(好像有信息理论证明三进制能编码的信息量是最多的),那样就没布尔代数什么事了。。。

  还有,我觉得二进制其实只是计算机编码的一部分而已。因为二进制只是一种表示数值的方式而已,而且也仅仅说明计算机内部的数值是用二进制来表示而已。但是计算机可是要处理一切信息的啊,这些信息可是远远不只是数值信息。所以说啊,我觉得计算机内部的信息的核心思想是用两种状态来编码一切信息,而二进制编码只是其中的一种方式。

   说了这么多,我想总结一下,计算机的本质与二进制没有关系,或者说二进制只是计算机的一种实现方式而已。计算机的实现啊,我觉得更多的涉及到的是物理化学的事,因为这本来就是一个物理实体嘛!对于计算科学的人来说,计算机只是他们的工具而已。对于这个工具,他们也是要稍微了解一下即可,至于用什么方法实现的(比如计算机内部是用二进制还是三进制)其实对他们来说都没啥关系,,更为重要的还是研究算法,研究计算过程的性质,然后通过编程(对一个计算过程进行编码)来让计算机这个工具来执行这个计算过程,从而创造价值!  说白了,计算机就是一个提供强大算力的工具,就是一个干苦力的O(∩_∩)O哈哈哈~。

你可能感兴趣的:(个人思考与感悟)