由于人手有十个手指,人类发明了十进制记数法。然而,十进制与电子计算机之间没有天然的联系,因此在计算机的理论和应用中很难顺利进行。为什么十进制与计算机没有天然的联系?什么是最自然的计数方法?

这从计算机的工作原理开始。计算机的运行依赖于电流。对于一个电路节点,电流只通过两种状态:通电和断电。硬盘和软盘常用于计算机信息存储。对于磁盘上的每个记录点,只有两种状态:磁化和非磁化。近年来,在光盘上记录信息变得越来越普遍。上海光盘上的信息点有两种物理状态:凹面和凸面,分别起聚光和散光的作用。由此可见,计算机使用的各种媒体都可以表现出两种状态。如果要记录十进制的一位数字,必须至少有四个记录点(可以有16个信息状态),但此时有六个信息状态空闲,这将不可避免地造成大量资源和资金的浪费。因此,十进制系统不适合作为计算机工作的数字进位系统。那么应该使用什么样的运载系统呢?人们从十进制的发明中得到启示:由于每种介质都有两种状态,最自然的二进制当然是二进制。

二进制系统只需要两个基本的记数符号,即0和1。您可以使用1表示通电,使用0表示断电。或1表示磁化,0表示非磁化;或1表示凹点,0表示凸点。简而言之,二进制数字正好对应于计算机介质上的信息记录点。在计算机科学的语言中,二进制数字被称为一位,8位被称为一个字节。

计算机中使用二进制是很自然的。然而,在人机交流中,二进制有一个致命的弱点——数字的书写特别长。例如,十进制100000被写成二进制110000110100000。为了解决这个问题,在计算机的理论和应用中还使用了两种辅助进位制——八进制和十六进制。二进制的三位数字被精确地记录为八进制的一位数字,因此该数字的长度仅为二进制的三分之一,这与十进制的长度相似。例如,将100,000十进制写入八进制就是303,240。十六进制数字可以表示四个二进制数字,因此一个字节正好是十六进制的两个数字。十六进制系统要求使用16种不同的符号。除了0-9十个符号外,常用的符号A、B、C、D、E、F分别代表(十进制)10、11、12、13、14、15。这样,用十六进制写的十进制100000是186A0。

二进制和八进制、二进制和十六进制之间的转换非常简单,八进制和十六进制的使用避免了长数字带来的不便,因此八进制和十六进制已经成为人机通信中常用的计数方法。