Python入门03:计算机与二进制

 

二进制是计算机技术广泛采用的一种数制,计算机的存储和运算都采用二进制,计算机能够直接执行的代码也是二进制代码。通过本课的学习,你将了解到计算机为什么采用二进制,以及二进制和十进制的转换。

计算机唯一能识别的代码就是二进制代码,我们编写的Python代码要在计算上执行,就需要把Python代码转换为二进制语言(也称为二进制代码),然后计算机才能执行我们编写的Python程序。

上图左侧是编写的Python代码,中间是Python解释器,右侧是Python解释器翻译后的二进制代码。Python解释器负责把左侧的Python代码翻译为二进制代码,计算机会自动识别二进制代码并执行我们编写的程序。

从图中可以看出,二进制代码就是数字0和1的组合,这些0和1的组合表示什么意思呢?下面我们就来讨论这些0和1的数字。

0和1的组合

只有0和1组成的数字称为二进制数。因为二进制数只有两个数字0和1,因此二进制数非常适合描述电路的通与短、开关的打开与关闭。例如,我们可以用二进制数0和1来表示灯泡的亮与不亮,用二进制数0来表示灯泡不亮,用二进制数1来表示灯泡亮,这样我们就可以用多个二进制数来表示灯泡的亮与不亮了。如01011表示有三个灯泡亮,两个灯泡不亮,而且还知道是哪个位置的灯泡没有亮。

计算机的电路都是由电子元器件组成的,电子元器件的状态分为通电和不通电。通电的电子元器件会有电压,称为高电位,用二进制数1来表示,不通电的电子元器件没有电压,称为低电位,用二进制数0来表示,这样一组电子元器件的状态就可以用一组二进制数来表示。

上图使用四个二进制数可以表示四只二极管的组合状态,0101表示有两只二极管是高电位,两只二极管是低电位。低电位的二极管是从左侧开始的第1只和第3只,高电位的二极管是从左侧开始的第2只和第4只。

这些表示电子元器件状态的二进制可以进行最简单的加减运算(再复杂的运算最终都会分解为加减运算),运算后的结果再通过控制电路改变电子元器件的状态。因此计算机内部运算都采用二进制运算,能够识别的数也是二进制数。

上图有两组二极管,左侧一组二极管的状态是0101,右侧一组二极管的状态是0110,可以对这两组二极管的状态进行相加运算,运算的结果是1011,0101和0110相加为什么结果会是1011呢?二进制数是怎么运算的呢?二进制数和十进制数有什么关系,毕竟我们生活中用的都是十进制数。

认识二进制数

要认识二进制数,我们先来做个小游戏。

伸出我们的右手,从小指开始,依次到大拇指分别代表数字1、2、4、8、16,这些数字也称为每个手指的权重,拇指的权重是16,食指的权重为8,中指的权重为4,无名指的权重为2,小指的权重为1。并且每个手指分为两种状态,手指伸直为1状态,手指弯曲为0状态。

然后分别做每个手指自由伸直或弯曲动作,记录其状态和五个手指的数字之和,状态顺序从大拇指开始。记录五个手指的状态与权重乘积的和。

进入Pyhton入门课程,学习更多内容