计算机采用二进制数是因为 为什么计算机采用二进制

在之前的随机文章中,我们提到了电脑珠算的起源,以及发展过程中出现的步进电脑和差分机 。无一例外,这些早期的计算装置都采用了十进制的计算方法,即“每十进一” 。算盘每十颗珠子前进一位,步进电脑齿轮每转一圈(一圈是0 ~ 90位)带动前一个齿轮转动一位 。十进制符合我们的计算思维,但为什么计算机把十进制改成了难以理解的二进制?
自古以来,我们日常中使用最多的就是十进制,其原因也十分简单,因为我们的手指一共有十根,如果人类在演化过程中只产生了六根手指,那可能我们现在最常用的可能就是六进制了 。手指对于远古时期的人类来说无疑是最方便实用的天然计算工具了,只需通过简单的“扳手指”就能快速的计算自己的收获 。随着生产力增加,十根手指无法满足生产计数时,“进位”的思想便慢慢出现,数完十根手指之后在心里默计一位,然后将手指归零继续计数,最原始的十进制便产生了 。
现代计算机采用二进制,最根本的原因在于计算机的电子化 。在使用齿轮的机械式计算机中,要表示十个数很简单,只需将齿轮分成十格,每格分别代表0~9十个数字即可非常简单的实现十进制 。随着计算机的发展,机械齿轮远远不能满足运算速度的需求,于是齿轮变成了继电器、真空管、晶体管这些电子开关 。电子开关的状态通常都只有“开”和“关”这两种,所以它只能表示“0~1”两个数 。如果硬要将电子开关做成十进制,无疑会让电路变得十分复杂,出错的概率、维护的成本也会成倍增加 。所以计算逻辑为硬件让出了道路,计算机最终使用了二进制 。好在二进制只存在于计算机的底层计算逻辑中,我们日常生活中使用的电脑和手机几乎不会出现二进制的身影,即使是专业的编程人员也不需要使用二进制机器语言编写代码 。
图像源网络
除了电子开关的硬性要求之外,二进制本身还是具有很多的优点的 。由于只有“0和1”两个数,所以运算法则变得极为简单 。以乘法为例,十进制的0~9单位数乘法法则一共有55条(1*1=1,1*2=2,1*3=3等等),如果我们需要口算乘法的话通常都需要记住这55条法则,这就是我们小学时需要背诵的九九乘法表 。再来看看二进制的0~1单位数乘法法则:0*0=0,0*1=0,1*1=1,可以看到乘法法则一共就3条,运算的简易性较十进制要简单的多,利于简化电路结构 。二进制的另一个优点就是“0和1”从逻辑上符合“真和假”的逻辑状态,而逻辑代数在数学上已经有了一个完整的体系 。英国数学家乔治·布尔(George Boole)提出了以“真、假”逻辑为基础的代数体系,并且解决了所有的法则和运算,这个数学体系以他的名字命名为“布尔代数” 。所以二进制计算有了一个现成的数学理论基础 。
图像源网络
计算机发展过程中也出现过三进制的情况,比如前苏联的CeTyHb三进制计算机,它使用电压的“正、负、零”来表示三进制的三种状态 。在开发之初,它比同时代的二进制计算机要稳定和快速,但前苏联疏于维护,三进制也逐渐被淘汰,最终只有二进制计算机发展至今 。
图像源网络
▎以前的内容
[01]计算机科学与技术废话:从算盘到15吨差分扩展发生了什么?
【计算机采用二进制数是因为 为什么计算机采用二进制】[02]计算机科学与技术漫谈:历史上第一位女性程序员,她也是诗人拜伦的女儿 。

    推荐阅读