第一百一十六章 二进制与三进制

梦中行走的猪 / 著投票加入书签

笔下文学 www.bxwxa.com,最快更新电子帝国传奇最新章节!

    源远流长5千年的华夏文明里,是只有短短数百年历史的西方国家无法比拟的,而被誉为四大文明古国之一的华夏,创造的人文和科技萌芽可不是平白吹出来的!

    如果单单从计算一门学科说起,可以追述到北宋时代发明的算盘,算盘是汉族劳动人民发明创造的一种简便的计算工具。

    而华夏国是算盘的故乡,在前世计算机已被普遍使用的年代里,古老的算盘不仅没有被废弃,反而因它的灵便、准确等优点,在许多国家方兴未艾。

    在华夏国古代想要快速的计算一些数值,最常用的东西就是算盘,在算盘中上面的一个珠代表五,下面的每一个数字代表一,从某一刻度起,往上依次类推,如果是一个二十几位的算盘,那其最大数值可到二十位,我们可以想想这将会是多么大的一个数字。

    当然,我们这里说的算盘其实是按着我们日常生活数值来发明的,所有数字均是十进制的,也就是说逢十进一,这样我们就可以用最多十个珠子来表示数值,后来发现十个珠子用法很别扭,就把算盘分成了两部分,改成了一种半五进制的东西,逢五进一,用一个进半上位的五和下面的五个珠子最多可以代表到十。

    由于这一方式用起来比较方便,所以十进制应用于各个领域,只要大家都能认可,那就是一种规则,就像我们现在都用的钱币一样,大家都认可就是钱,大家都不认可,那就是废纸。

    既然用算盘珠就可以表示这么大的数字,那么算盘可真是一个非常了不起的计算器,那么如果能有一个东西能自已完成计算,而不需要用人去拨算珠,那就更好了,于是计算机诞生了。

    最早期的计算机由电子管晶体管这些东西完成运算,在我们设计的这些电路中我们无法让它识别我们发明的数字,也完不成如我们在纸上一般具体的运算,因为这样的电路只有两种状态,那就是开和关,除了会开和关基本就不会完成别的操作了,因此,我们用开表示0,用关表示1,这样我们就可以完成二进制的运算了。

    所谓的二进制,大家应该了解,就是逢二进一,如:0001,代表1,想要在1的基础上加1,那就是0001加0001,因为第一位变成了2,所以需要进位,就成了0010,三就是0011,四就是0100,五就是0101,依次类推,0101在计算机中表示就是开关开关。至于一些加减乘除的运算都是一些错位相加错位相减等等,用这样的办法我们就可以完成和算盘同样的功能了。只不过在需要计算的时候我们需要把十进制转化成为二进制,以方便电脑进行运行。

    计算机中除了十进制二进制以外,还有八进制和十六进制,十进制是在我们输入一些数字用于表示在计算机显示器上的数字,而计算机在真正运算的时候是用的二进制运算,这些进制之间是可以相互转化的,最终都会转化成为二进制交给cpu来运算,也就是说我们在电脑中看到的一切,图像,声音,文字最后全变成0和1交给计算机来处理。

    图像在计算机中以用十六进制表示的,如白色是:ffffff,黑色是:000000,从零到f中间的数字可以随意修改就可以得到不同的颜色,学过数学中全排列的都应该能算出来大概是多少种颜色了。

    而我们都知道所有的颜色其实都是由三原色组成,红,蓝,绿,学美术的应该都知道,用这三种颜色可以调出很多种颜色。

    在计算机中也是一样,从最一开始的黑底白字,逐渐到了彩色,又到了图像操作界面,这些都是由最一开始的0和1逐渐派生出来的,而这所有的一切图像声音文字最终也都需要转化成为0和1来进行运算。

    学过编程的人都知道,如何用程序在计算机上输出一条线,那就从一个点重复输出到另一个点,两点就可以连成一条直线,因此在显示器上,我们都是以像素来做为最基本单位的,如果想要表示一条线,就画无数个点就可以了。如果想要画一个面,那就画无数条线就可以了。

    这个我们在上初中几何的时候都学过的线是由点组成,面是由线组成,体是由面组成。所以说在几何里面,无论是一个多么好看的体,无论是一个多么好看的面,我们都可以把他打散成为无数个“点”。这个“点”就是“线”,“面”,“体”的基本元素。

    而一个动画或视频,就是由无数个连续面组成,这个我们都不难理解,而这每一个面在电脑中我们都称为关键帧。最终也是可以转化为“点”的。

    从这里我们就可以看出,如果需要在现在的cpu架构上,完成软件的运行,离开了二进制,还真的暂时无法做到。

    前世有些理论家和空想家都提到了采用三进制的计算机结构,有些文章里还提到了前世前苏联5、60年代,有科学家制造出了比二进制计算机运行更快、更稳定。发热量更小的三进制的计算机,却因为官僚主义的愚蠢使得这一成果烟消云散。

    我们姑且不论这个事情的真假,我们先来分析一下当时苏联和美国这两个国家当时所处的状态-----冷战时期,不错当时地球上军事力量最强大的两个国家正处在对抗状态,而大型计算机早已在科研机构存在久也,所用的结构正是西方国家的二进制。

    对于对资本主义国家仇视的前苏联,怎么可能因为三进制的电脑而强行终止呢?如果真的研发出来,恐怕立刻就会严密保护起来,毕竟科研机构大部分都依赖计算机的,不可能每一个项目都申请调用超级计算机吧?

    而且作为军事力量强大的前苏联,所采用的cpu和计算机却是被他们所宣称的低效能的二进制,这还不能说明问题吗?

    试想一下,如果一个国家能有自己的一套电脑架构,怎么会不采用呢?难道他们不知道安全的重要性吗?尤其是还在军事对抗的时候?

    我们再从电路的实现方面来说,如果采用三进制,那么就意味着除了0和1之外,还需要一个中间值,为了便于理解我们称之为-1,三进制在我们的纸面计算完全没有问题,但是落实到具体电路怎么办?

    0和1我们可以用高低电平来表示,那么-1呢?或许有人看到-1,就觉得用负电压来表示就完全没有问题了。

    确实,负电压能非常容易地通过电路实现,甚至我们使用的很多机器里都有负压电路,但是,利用负压是为了确保电路能实现设计者的目的,那么,在计算机里,cpu怎么识别这个负压呢?

    众所周知,二进制的cpu的内核,也就是指令集是通过光刻的手段,直接‘雕刻’在硅基芯片上的,那么,请问这个-1用什么物理材料来表示?

    因为晶体管虽然是有三种状态:饱和导通、截止和放大,前两者对应0和1,后者只应用于模拟电路中起信号放大作用,而这个放大作用也可以称作三极管的中间状态,那么肯定就很显然,后一种状态在数字电路中无法具体表示出来。

    因此,凡是应用在硅基芯片上的由平面晶体管组成的cpu根本就不可能有除二进制之外的其它进制存在!

    前世尽管曾有人说过现今的计算机都使用“二进制”数字系统,尽管它的计算规则非常简单,但其实“二进制”逻辑并不能完美地表达人类的真实想法。相比之下,“三进制”逻辑更接近人类大脑的思维方式。

    因为在一般情况下,我们对问题的看法不是只有“真”和“假”两种答案,还有一种“不知道”。在三进制逻辑学中,符号“1”代表“真”;符号“-1”代表“假”;符号“0”代表“不知道”。

    显然,这种逻辑表达方式更符合计算机在人工智能方面的发展趋势。它为计算机的模糊运算和自主学习提供了可能。

    只可惜,目前电子工程师对这种非二进制的研究大都停留在表面或形式上,没有真正深入到实际应用中去。

    杨小乐此时也是只能叹息说这句话的人,太想当然了,如果真的深入研究三进制,那么这些研究人员,必须丢掉目前的大部分的知识基础,丢掉花费了十多年寒窗苦读的时光,丢掉关于cpu的架构和硅基芯片的一切知识、从头开始花费数十年需要将二进制计算机研发路程重新走一遍,尚且还不敢保证一定能成功!

    难道说前世人工智能迟迟不能突破真的跟采用二进制有关系?

    难道说非得‘自废武功’寻找有利于人工智能发展的进制才能行?

    可是在最终答案没有经过时间长河验证之后,谁又能说自己说的是对的呢?

    既然确定了人工智能目前只能采用二进制之后,杨小乐又不得不开始冥思苦想在华夏文明里,还有什么文化是跟0和1有关的?