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

在前几次的乱谈文章中 , 我们提到计算机的起源算盘 , 以及发展过程中出现的步进计算机以及差分机 。这些早期的计算设备无一例外都是使用了十进制的计算方法 , 也就是“逢十进一” , 算盘每拨动十颗珠子就要向前进一位 , 步进计算机的齿轮每转动一圈(一圈是0~9十个数字)就会带动前一个齿轮转动一格 。十进制非常符合我们的计算思维 , 但为什么计算机发展到后来会将进制改为难以理解的二进制呢?

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


  • 自古以来 , 我们日常中使用最多的就是十进制 , 其原因也十分简单 , 因为我们的手指一共有十根 , 如果人类在演化过程中只产生了六根手指 , 那可能我们现在最常用的可能就是六进制了 。手指对于远古时期的人类来说无疑是最方便实用的天然计算工具了 , 只需通过简单的“扳手指”就能快速的计算自己的收获 。随着生产力增加 , 十根手指无法满足生产计数时 , “进位”的思想便慢慢出现 , 数完十根手指之后在心里默计一位 , 然后将手指归零继续计数 , 最原始的十进制便产生了 。

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


  • 现代计算机采用二进制 , 最根本的原因在于计算机的电子化 。在使用齿轮的机械式计算机中 , 要表示十个数很简单 , 只需将齿轮分成十格 , 每格分别代表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)提出了以“真、假”逻辑为基础的代数体系 , 并且解决了所有的法则和运算 , 这个数学体系以他的名字命名为“布尔代数” 。所以二进制计算有了一个现成的数学理论基础 。

推荐阅读