每个人的Python:数学、算法和游戏编程训练营
上QQ阅读APP看书,第一时间看更新

2.1.1 计算机的思考方式

我们一直在说计算机在数据运算的时候,采用的是二进制的计数方式,那么为什么计算机的设计要采用二进制呢?在解答这个问题之前,我们首先来明确一下什么是进制。进制全称进位计数制,更通俗来说,就是我们在进行数学运算时的进位规则,即逢几进一。在生活中,我们常用的进制方式是十进制,由于人类在生理上的特征,十指计数的天性使得人类对使用十进制计数有着先天的优势。十进制即逢十进制,十个一进位成一个十,十个十进位成一个百,以此类推。在十进制中,数字有从0到9共10种,同理,对于二进制来说,数字只有0和1两种,逢二进一。

你可能会问,计算机在设计时,为什么不使用我们最熟悉的十进制,而要使用二进制呢?计算机使用二进制并非随意的选择,而是由其硬件特点决定的。在二进制中,只有0和1两种数字,这正好可以描述开关的两种状态,如0表示关,1表示开。并且,布尔运算也是基于逻辑值假与真进行运算的,也与二进制中的0和1相对应。二进制是最适合计算机使用的进制方式。计算机使用二进制进行运算有如下优势:

(1)实现简单,计算机的硬件元件只需要维护两种状态即可。

(2)可靠性高,稳定性高,抗干扰性强。

(3)运算规则简单。

(4)通用性强。

虽然计算机中可以处理的数据类型千变万化,如数字、文字、符号、音频、视频、图片等,然而其本质都是二进制的数据。计算机中的内存是一个非常精密的部件,其中会包含上亿个电子元器件,通电后,这些元器件会根据电压的不同保持两种不同的状态,通常高电压状态表示二进制中的1,低电压状态表示二进制中的0。通过电路来控制内存中元件的高低压状态即可产生一组二进制的数字,例如我们的内存中只有8个电路元器件,则通过其高低压状态的组合,最多可以有2的8次方种组合,若用每一种组合表示一个数值,则其可以表示从0到255这一范围内的任一整数。

在计算机中,规定一个元器件所描述的数据为1Bit,也被称为1位,1位是指只能存储一个二进制位的数据,即要么存储0,要么存储1。位是一种非常小的数据存储单位,计算机中常用的数据存储单位如下:

1Byte(字节)= 8Bit

1KB(千字节)= 210Byte = 1024Byte

1MB(兆字节)= 210KB = 1024KB

1GB(吉字节)= 210MB = 1024MB

1TB(太字节)= 210GB = 1024GB

其中,TB已经是一个很大的存储单位,虽然在TB之上还有PB、EB等存储单位,但我们基本使用不到,在日常生活中,1TB的硬盘已经是大容量的了。

所谓计算机的思考能力,无非就是对二进制进行运算,包括算数运算与逻辑运算等。这些运算本身都非常简单,计算机之所以如此强大,主要源自于其巨大的数据处理量与极快的运算速度。