计算机数据的表示基础知识——二进制



在计算机中,广泛采用“0”和“1”两个基本符号组成的“基2码”,或称为二进制码,来表示各种信息。在计算机中采用二进制码的原因如下:

1)二进制码在物理上容易实现。二进制码的两个符号“1”和“0”正好与电子元器件的两种稳定状态相对应。例如,逻辑电路电平的“低”和“高”,开关的“断”和“通”,发光二极管的“暗”和“亮”等都可以用数字“0”和“1”表示;

2)二进制运算简单,通用性强;

3)二进制的两个符号“0”和“1”正好与逻辑命题的两个值“否”和“是”或称“假”和“真”相对应,微计算机实现逻辑运算和程序中的逻辑判断提供便利条件。

其实说实在的,看了书上的答案,不是很满意。“开”和“关”,“通”和“断”等用二进制是方便,但是其他进制就不能解决问题了吗?

对于十进制来说,是熟悉的不能再熟悉了,那为什么不采用十进制?

因为二进制的电路比较简单,二极管有单向导电性,即总处于导通与不导通两种状态之一。若通代表1,不通代表0,则0与1刚好表示出二进制的全部数码。二极管的两个状态:通与不通,决定了由它制出的电脑必然采用二进制。如果二极管有10个状态可以利用,那么电脑就有可能采用十进制了。但有10个状态可利用、像二极管那样可用于制造电脑的东西在现实中还没有发现,所以人们不会舍近求远。因此电脑中的运算至今仍采用二进制。我们平时用电脑时感觉不到它是在用二进制计算是因为电脑会把你输入的十进制数自动转换成二进制,算出的二进制数再转换成十进制数显示到屏幕上。最早的计算机可不会这样,你必须自己把输入的数据转换成二进制才行。

在冯•诺伊曼等人发表的101页报告中写到,33位的表示可以达到10的10次方大小,二进制系统与十进制系统相比要经济得多。举个例子,现在用K表示10的3次方,也就是2的10次方;G表示10的9次方,即2的30次方。10的10次方(1后面10个0)是不是约等于2的33次方(换成二进制表示,1后面33个0)如果用物理状态表示这个数的话,十进制的表示:需要11个具有10种稳定状态的元件,状态总数为110种;二进制的话,只要拿34个灯泡即可,总共才68种状态。

在查询资料过程中,还发现了三进制。三进制有两种:普通三进制和对称三进制。对于计算机而言,普通三进制意义绝对没有现行的二进制意义更大,就其本质,三进制都是以三为底数的进位制,这与二进制类似;但是对称三进制就不同了,它极大的扩充了计算机的逻辑能力,以及对整数的表达能力。

其实“二进制”逻辑并不能完美地表达人类的真实想法。相比之下,“三进制”逻辑更接近人类大脑的思维方式。因为在一般情况下,我们对问题的看法不是只有“真”和“假”两种答案,还有一种“不知道”。在三进制逻辑学中,符号“1”代表“真”;符号“-1”代表“假”;符号“0”代表“不知道”。显然,这种逻辑表达方式更符合计算机在人工智能方面的发展趋势。它为计算机的模糊运算和自主学习提供了可能。

而且,三进制计算机并非没有在人类计算机发展史上出现过。其实,早在上世纪50、60年代。一批莫斯科国立大学的研究员就设计了人类历史上第一批三进制计算机“Сетунь”和“Сетунь 70”(“Сетунь”是莫大附近一条流入莫斯科河的小河的名字)。可惜的是,苏联官僚对这个不属于经济计划一部分的“科幻产物”持否定的态度。他们甚至勒令其停产。对“Сетунь”的订单却如雪片般从各方飞来,包括来自国外的订单,但10到15台的年产量远不足以应付市场需求,更不用说出口了。很快,计划合作生产“Сетунь”的捷克斯洛伐克工厂倒闭了。1965年,“Сетунь”停产了。取而代之的是一种二进制计算机,但价格却贵出2.5倍。

由此,采用二进制的根本原因,在于实现硬件技术相对于简单,简化了运算规则,除此之外还有很多历史发展原因。

至于为什么不和八进制、十六进制比较,我觉得一眼就能看出来,二进制要简单得多偷笑