信息时代,我们的生活离不开计算机。我们看到的视频、图片,阅读的文字、数字和符号、听到的音乐,其实都是一串由0和1组合的序列。这就是我们计算机经常使用的二进制数。
你知道吗?世界上最早提出二进制的人,就是那个曾发现微积分的“百科全书”式的天才——莱布尼茨。
你是否会好奇,为什么我们计算机不直接用常见的0到9描述?究竟什么是二进制呢?
在聊二进制前,让我们先来认识什么是十进制。
01
什么是十进制
在日常生活中,我们习惯使用0、1、2、3、4、5、6、7、8、9这十个阿拉伯数字来记数。
当我们在商场上看到某件物品标价为1246,就可以自然地拼读出来:一千二百四十六,而不是直接读成:一二四六。其实,我们发现,在一串数字中,每一位都代表不同含义。
1 2 4 6
千 百 十 个
于是,存在如下计算:
1246=1*10+2*10+4*10+6*10
可以看到,如果我们从第0位开始计数,每一位上的数字分别乘上固定数值,即“位权”,也就是“每一位的权重”。则第i位的权重就是
10
一般地,对于一个R进制的数字,第i(i从0开始计数)位的位权为:
R
在我们生活中习惯使用的计数方法,就是十进制,即“逢十进一”。
02
什么是二进制
尽管日常生活中,十进制的使用已深入人心。但是,在计算机领域,普遍采用二进制。
也就是只由0和1组成的计数法,逢二进一,第i(i从0开始计数)位的位权为:
2
因此,当我们看到一串0、1序列时,我们需要进行如下的计算,才能转换为我们常用的十进制计数:
二进制:1 0 1 1
十进制:11=1*2+0*2+1*2+1*2
03
二进制的优点
既然使用二进制有些“反人类”,为什么计算机会选择使用二进制呢?
二进制的特点包括:
运算简单:与十进制相比,虽然二进制表示一个数的位数过多,但是对于计算机来说,计算0和1两个状态,比计算0-9十个状态更为简单。进位规则“逢二进一”,借位规则“借一当二”。对于计算机来说,二进制的运算规则简单。
状态简单:二进制只使用0和1两个数字组成,状态种类少,非常方便。
运算简单:与十进制相比,虽然二进制表示一个数的位数过多,但是对于计算机来说,计算0和1两个状态,比计算0-9十个状态更为简单。进位规则“逢二进一”,借位规则“借一当二”。对于计算机来说,二进制的运算规则简单。
状态简单:二进制只使用0和1两个数字组成,状态种类少,非常方便。
稳定性好,可靠性高:可以用低电平和高电平来划分0和1两种状态。举例来说,我们知道,电脑的主存储器是由晶体管组成。晶体管可在高压(1)和低压(0)两种状态之间转换。即使受到电磁干扰,电压会存在波动,我们也能很好地分辨0和1两种状态。这些0、1状态会由电脑处理器读取。根据软件指令,可通过晶体管的不同状态控制其他电脑设备,从而可靠地存储数据。其使用的数字装置简易,所用元件少,技术实现简单。
通用性强:二进制可以清楚地划分是非对错。利用二进制,我们可以设计出基础的与、或、非逻辑运算元件并进行扩展。
稳定性好,可靠性高:可以用低电平和高电平来划分0和1两种状态。举例来说,我们知道,电脑的主存储器是由晶体管组成。晶体管可在高压(1)和低压(0)两种状态之间转换。即使受到电磁干扰,电压会存在波动,我们也能很好地分辨0和1两种状态。这些0、1状态会由电脑处理器读取。根据软件指令,可通过晶体管的不同状态控制其他电脑设备,从而可靠地存储数据。其使用的数字装置简易,所用元件少,技术实现简单。
通用性强:二进制可以清楚地划分是非对错。利用二进制,我们可以设计出基础的与、或、非逻辑运算元件并进行扩展。
04
二进制的应用
每种类型的数据,都可以通过一套规则快速地实现二进制编码。例如,十进制可以转化为二进制。字母也可根据通过标准规则(如UTF-8)进行二进制串编码。
同样,视频的每一帧由图片构成,图片则由每个像素构成,每个像素又可用3个二进制序列表示。
就连语音,都可以利用脉冲编码调制技术,以二进制的形式存储和传输。
所以,二进制可以广泛地应用到计算机的各个领域。
正因为有着这么多的优点,二进制被作为目前计算机唯一可识别和接受的语言,即机器语言。我们在开发、测试软件时常用的C、C++、Java、Python等等程序语言属于高级语言,它们最后都需转化为机器语言才能被计算机识别和执行。
05
也许可以是三进制
尽管二进制在计算机已经得到普遍应用。但是,如果说二进制是计算机最理想的选择未免有些草率。因为,虽然二进制计算规则简单,但是未必能够完美地表达人们的真实想法。在一般情况下,人类大脑思维方式,在对待问题的看法上并不只有“真”和“假”、“是”与“非”两种答案,还有一种“不确定”。因此,在不少领域,二进制可能会受到极大的局限。
一般来说,n位的R进制数可以描述R种信息内容,其需要使用nR个元件表示。于是,R进制的效率可以用如下公式表示:
y(R)=R/nR
其含义可以理解为:在描述相同的信息量下,所需的元件数目越少,则工作效率越高。
当我们采用高中学过的求导等一系列计算后可以得出:当R=e(e为约等于2.71828的无限不循环小数)时,y最大。此时,惊讶地发现,整数3的效率y比整数2距离e更近。
三进制才是那个被证明理论上效率最高的进制。
其实,早在19世纪50年代,前苏联就已经出现三进制计算机了。但是,由于政治、经济等因素,三进制计算机逐渐被人们抛弃。随着未来竞争激烈、充满神奇的量子领域中存在一种额外的状态——不确定的叠加态,而三进制刚好可以通过“不确定”的那个数来表示,从而能够抗量子攻击。
因此,三进制计算机也为计算机的发展开辟新的可能,也再次引起人们的注意:我国的物理学家郭光灿和中国科学院大学同事首次实现三进制qutirt量子信号的传输。韩国也在最近几年成功研制出三进制的半导体。
编辑:fiufiu