为什么使用rpc_比较二进制


计算机很多人都很熟悉。有一种说法是计算机中采用的二进制来源于中国古代的《易经》,确实是这样吗?

要说清楚这件事,就需要先说说二进制。很多人都知道计算机中采用二进制,可是具体什么是二进制,二进制又是怎么在计算机中使用的,可能就不那么清楚了。至于计算机为什么要采用二进制,它和《易经》有什么关系,一般人就更不会知道了。很多人会觉得这是数学家和计算机专家的事,普通人不可能弄明白。其实二进制的思想虽然深刻却并不难理解,它在计算机中的应用也是针对具体的问题顺理成章地引入的,自然到很多普通人也能想出来。

这篇文章就试图用最通俗的语言介绍这些知识,几乎不需要任何数学和计算机基础就可以读懂。

快来试一试吧。

1. 最通俗、快速地说说什么是二进制

我们平时采用的数字是十进制的,它的特点是逢10进1。就是说一个数字有很多位,每一位的范围都不超过10(0到9),如果达到10就要向高位进1。例如,39再加1并不是310,而是40。

可以类比地去理解二进制数:在二进制数中,每一位的范围都不超过2,也就是说只能是0和1,如果某位上的数字将要要达到2,那就要向高位进1。按照这个规则,数字1再加1会达到2,所以就要向高位进1,因此就变成了10。也就是说,十进制的2是二进制的10。同样的道理,十进制的4可不是二进制的20,而是100。注意:因为二进制中根本就没有数字“2”。

可以看到二进制的特点是每一位的可能情况最少,只有0和1两种,而十进制则有0到9十种。事实上,二进制是每位上可能情况最少的进制,因为不可能每位上只有一种情况,那样就没法表示不同的数了。但是,二进制也存在一个问题,即同一个数字的二进制表示要比十进制表示长得多,例如十进制数127表示成二进制需要8位,是11111111。

2. 所谓的“计算机采用二进制”到底是指什么?

“计算机采用二进制”这句话你可能听得耳朵都起茧了,可是它具体是指什么意思呢?其实认真来说,这句话包含着两层含义:

首先,计算机中所有信息的存储都采用二进制。

计算器中的信息都存储在磁盘或者内存里。通俗地说,这些存储介质是采用电信号或者磁信号来表示数字信息的,而数字的最小单位是“位”。在现有的计算机存储介质中,采用的”位“是二进制位。也就是说,每一”位“的电或磁信号被分成两种等级,一种表示0,一种表示1。进一步地,很多位连在一起,就能表示各种数字了。

其次,计算机中所有的运算都采用二进制。

顾名思义,既然叫做”计算“机,那么它的核心功能当然是计算。在计算机中,不仅数的存储采用二进制,数的计算也采用二进制。例如,如果要算十进制的1+2,事实上是采用它们的二进制表示,即1和10,然后直接进行二进制上的加法运算,结果是11(二进制),对应十进制的3。

3. 计算机中为什么采用二进制?

了解了计算机采用二进制的具体方式,其实就能够比较容易地了解计算机中为什么采用二进制了。

首先,在存储方面,采用二进制能够获得最好的可靠性。关于可靠性,一个比较直观的例子是存储的数据在读出时不会发生变化。对于电磁信号来说,由于自身的衰减以及各种干扰,的确会发生读出时的值与写入时的值不同的情况。在这种情况下,采用二进制意味着不需要两次操作时具体值完全相同,而只需要把值的可能范围分成两段(分别对应0和1),只要两次操作时的值在同一段内即可。显然,这种方法的容错性最好。相反,如果采用十进制,就需要把可能取值范围分为10段,那出现写入和读出时不再同一段内的情况的可能性就大大增加了。

其次,在运算方面,采用二进制实现最为简单、自然,也最可靠。如果采用二进制,那么两个数位相加最多只有4种情况:0+0,0+1,1+0,1+1。而如果使用十进制,就会有10x10=100种情况。显然,采用二进制时,设计两个位的操作对应的电路会更为简单。特别是,二进制的0和1可以直接和电路的通和断关联起来,采用电路实现时格外自然。而如果采用十进制,则除了电路断之外,还需要在电路通时,根据电信号的强弱再区分出9种不同的状态来,显然电路实现要复杂得多,计算的可靠性也会低得多。

4. 计算机中采用二进制是受《易经》启发吗?

关于这一点,只是有一些传言,目前并没有明确的证据。

但是我觉得,与其说谁受谁的启发,不如说它们都是“2”这数字的特点的必然结果。2是比大于1的自然数中最小的那个,是从1变多的开始。这就是道家所谓的“道生一,一生二,二生三,三生万物”。2反映了两个事物的对立和统一,这就是《易经》中所体现的核心思想,古希腊的毕达哥拉斯也认为“2”是对立和否定的原则。而计算机中之所以采用二进制,也是因为2是从一到多步骤中最简单的那个,并且因为它所体现出的对立关系能够带来最好的区分度。

可以说,哲学和科学在这一点上达到了极为完美的统一。