其实用电路板来形容二级制编程是最为形象的。假设有一块b板,其上已经有很多的电子元件的针脚。现在要求你在其上排列电路,要让某些对应的针脚可以一对一的连接起来。
这种电路板的设计将会随着需要连接的针脚数量增加,难度成几何级数的上升。因为有些电子原件的针脚连接线会被别的线路挡住。要在只有一个面的电路板上印刷导电的线路,就决定了这些线路绝对不能交叉。因为印刷电路板不像家里的电线,它们是没有绝缘层的,一旦线路交叉就会短路,电路板根本无法正常工作。需要连接的针脚少的时候当然简单,但是阵脚一多,线路就会变的很复杂,有时候需要来回的绕圈子才能避免交叉让线路顺利连接。而一旦线路继续增加,最终会发展成即便你让线路拐来拐去也无法最终连接到需要的针脚上。这样根本无法完成线路设计。
现代电路板是怎么解决这个问题的呢?房间很简单。在电路板上打洞。当两条线路需要交叉的时候,直接在电路板上打洞,让其中一条线路穿到电路板背面,就像立交桥一样,绕过正面的线路,然后重新穿个洞再回到正面来走线。
使用这种方式将线路交叉穿梭,虽然对于现代的大规模电路来说依然会非常拥挤,排线也会非常的复杂,但至少还是可以完成大多数线路的需要的。这也是为什么现代电子工业的不同厂家生产的电路板性能可能差距很大的原因,就是因为合理的排线可以减少线路的长度。同时降低干扰,而有些技术不过关的厂家虽然也能设计出电路板,但排线不合理。走线长度增加,不但增加了原料成本,电路板体积也变大了很多,更重要的是走线不规则意味着线路干扰会变的非常严重,这将直接影响到最后电器成品的质量和性能。
由这种电路板的走线难度就可以看得出来,单纯在一个面上布置线路显然是非常麻烦的,甚至很多复杂的线路根本就完全无法完成,但是只要采用穿孔的方式在线路板两面走线,那就意味着设计变得更简单了。
但是。大家有没有想过,如果电路板是立体的呢?将电路板设计成空间立体结构。让“电路板”变成“电路球”,其中的线路可以利用空间结构交叉串接而互不接触。那么,这种线路设计是不是就变的简单了很多?而且因为是立体布线,所以很多元件的针脚距离被拉进,线路也可以直接用一条直线连接,这种不拐弯的短线显然会大幅度缩小线路长度,不但降低了材料成本,更重要的是较短的线路暴露在外面就意味着受到干扰的机会下降了。并且,这种立体线路意味着很多原本无法被制造出来的线路有了被制造的可能,这对电子系统的设计帮助可想而知是多么巨大。
当然,这只是个比喻,现实中没有出现这种立体电路最大的原因不是它不好,而是成本问题。毕竟立体线路的生产难度很大,虽然设计简单了很多,但要进行立体化的接线和点焊,没有高尖端的机器人工业支持是肯定不行的,至少人类是无法完成如此高集成度的复杂工作的。
但是,虽然在实体的线路板上应用困难,但在软件领域,这种思维模式带来的革新却是无法想象的。
如果说基于二进制的软件相当于在那种平面电路板上穿线的话,我们的十六进制计算模式就相当于是那种立体电路板。而且,因为软件运行不存在生产难度的问题,所以唯一的缺陷在这里是不存在的。
要让计算机处理同样的工作,需要先用计算机语言描述这个工作对象,这一点不管是哪种计算机都是一样的。但是,描述完成之后,二级制计算机需要先把描述对象转化为二进制语言,而十六进制计算机则是转化为十六进制语言。但是,因为之前说的数据复杂度的问题,十六进制计算机转化后的数据可能会有十六进制计算机转化后的数据的16倍大小。在计算机本身的处理速度相同的情况下,二进制计算机已经比十六进制计算机慢了16倍了。
数据转换完成之后还需要计算。二级制计算因为只有0和1,所以没有办法进行乘法计算。那么,二进制计算机如何进行乘法运算呢?很简单,将被乘数直接按照乘数的数字连续相加。最后得到乘积。比如说计算3乘5,二进制计算机所做的事情就是计算3+3+3+3+3,然后输出结果。如果是3乘100。那就是3+3这样一直加100次。
这种计算方式光看着就会觉得非常慢,但是二进制计算机的运算速度其实相当的快。为什么呢?不是因为这种计算方式快,而是因为电子的速度快。因为电子计算机内的电子穿过一个晶体管就等于是完成了一次加法运算,所以虽然3乘100需要连续加100次,但是速度依然非常快,这就是电子计算机的优势。比起人类来,它们总是显得非常快。
但是,量子计算机和电子计算机的基本交换速度是一样的,也就是说量子也是光速运动的。并且。量子可以跃迁,还可以进行纠缠干涉,因此,量子计算机内部的数据传输速度其实是超光速的。
由这一点就可以看得出来,如果使用单纯的加法器进行累加运算,量子计算机已经比电子计算机快多了。