当前位置:首页 > 综合 > 正文

《趣味代数学》运算与速度

触发器的模式不仅可以用来计数,它还能帮助我们进行数的运算。

我们先从简单的算起,来看看它是怎样把两个数加在一起的。

像图3那样,把触发器排成3排,第一排的任务是记录被加数,第二排的任务是记录加数,第三排的任务是记录两数之和。接通电流,第一、第二排中处于状态1的触发器分别向第三排的触发器输出了电脉冲。

《趣味代数学》运算与速度

图3 复杂连接的触发器

正如你在图3中看到的,第一排的触发器记录了被加数101,第二排的触发器记录了加数111(二进制)。第三排的触发器1接收到了两个脉冲,这两个脉冲分别来自于第一排(被加数)和第二排(加数)对应的两个触发器。

触发器1虽然得到了两个脉冲,它依然处于状态0,但同时,它向触发器2发出了一个回答脉冲。

触发器2也得到了两个脉冲,一个来自于触发器1,另一个来自于第二排对应的触发器,因此触发器2也处于状态0,并向触发器3发出了一个回答脉冲。

触发器3在得到来自于触发器2的一个回答脉冲的同时,还从第一排和第二排对应的触发器那里各得到一个脉冲,它得到的脉冲信号数是三个,因此触发器3处于状态1,并且发出了一个回答脉冲给触发器4。

有了触发器3发出的回答脉冲,触发器4得到了一个脉冲,并且只有这一个,前面两排对应的触发器并没有向它发送信号,因此触发器4处于状态1。

图3中的三排触发器就这样完成了两个数相加的竖式运算过程(二进制计数法):

《趣味代数学》运算与速度

如果用十进制来表示,这个算式就是:5+7=12。第三排触发器输出的回答脉冲,就像我们用竖式做加法时进位一样,把1“记忆”下来并进到了前面的数位上。

假如每一排有20个触发器,就可以计算百万以内的加法运算了。再多些,加法运算的数就更大些。

图3看起来简单易懂,但用来完成加法运算的装置实际上要比这复杂。比如实际使用时,必须加上信号延迟装置。如果没有这个装置,就像图3中那样,当电流接通的瞬间,第一排和第二排上的触发器分别发出的两个脉冲同时到达第三排的触发器1,两个脉冲汇合后成为一个脉冲,这就会使触发器收到的脉冲变成了一个而不是两个。加装延迟装置就是为了使两个脉冲中的一个稍晚些到达。但安装延迟装置后,加法运算的速度就会比由一个触发器单独记下一个脉冲的速度慢些。

触发器并非只能做加法运算,如果我们改变一下模式,那么减法、乘法(乘法其实就是累加,它所需要的时间会是加法的几倍)甚至是除法以及其他运算都是可以进行的。

事实上,现代的计算机已经使用了我们所提到的触发器装置,因此每秒钟进行几万甚至几十万次的运算对于计算机来说完全不是问题,甚至随着科技的不断进步,未来的计算机可以实现每秒钟运算几百万次!这种速度看起来令人眩晕,也许你会觉得没有什么意义,你或许会想,用四分之一秒算出一个15位数的平方,和用几万分之一秒算出它的结果,这之间似乎没有什么太大的区别,因为这两个时间对于我们来说,都是极小的瞬间。

但我不得不说,你的这种想法太片面了。让我们来举一个通俗易懂的例子。比如一位水平高超的棋手,他在下棋的时候,每走一步都要在心里衡量出几十种甚至几百种方案,假如他每思考一种方案只需要几秒钟的时间,那么几百种方案全部想一遍也要几分钟甚至几十分钟。我们在一些重大的比赛中,常看到一些棋手在后期感觉时间不足,其原因在于前面走的几步,每一步都耗费了太长时间,以至于规定的时间早早被用完了,最后难免虎头蛇尾。但如果这个思考的过程由计算机来完成会比人脑思考节省多少时间呢?计算机每秒钟能计算几千次,把全部的方案都考虑一遍,也不过是一瞬间的事,比眨眼的速度还要快,永远都不会陷入时间不足的窘境。

也许你会觉得,即使是最复杂的计算,与下棋也是两码事儿。计算机是用来计算的,不是用来下棋的!棋手思考下棋的方案也不是在做计算题,人家是在思考!对于这个观点,我们暂时不必争论,下面我们会专门对这个问题进行分析。(俄.别莱利曼)

有话要说...

取消
扫码支持 支付码