亮剑之军工系统 第702节
琼对此表示理解。
八路军的继电器计算机走在日不落的前面,而且他们是用技术换零件,也就是说给出技术就够了,没有义务派出最顶尖的科学家与日不落合作。
另一方面,八路军虽然有继电器计算机的技术,但他们缺乏机械计算机的实践基础,派新人参与这个项目似乎很合理。
“放心吧!”琼望了一眼五金等人,回答:“我想,我们会合作得很愉快的!”
王学新其实不担心琼会怀疑什么。
一方面像“克里斯托弗”甚至继电器计算机这东西其实并不复杂,数学家如果知道二进制运算这东西就知道它们在做什么,而五金等人对其物理结构的掌握又不在话下……物理上如果说有什么困难的话,那就是五金这些不太明白各单元复杂的接线是怎么回事。
但这些接线规则,数学家如果了解其本质也就是二进制的进位规则,就不是什么难事了。
另一个,就是王学新对两个数学家有进行几小时的培训。
培训内容主要就是二进制。
二进制运算对于现代来说是稀松平常了,旦凡有上过大学有学习过计算机基础的都知道这玩意。
但在这计算机还没流行的时期尤其是华夏,许多人包括数学家在内听都没听说过二进制……尽管二进制的发明到现在已经有几百年的历史。
这是由于二进制在生活和实践中几乎没用。
如果现代不是计算机的大规模使用,只怕二进制依旧没有出头之日。
因此,当王学新跟两个数学人才说起二进制时,他们都疑惑的望着王学新,说:“团长,这虽然不难,但与我们要研究的项目有关系吗?”
二进制的确不难,尤其对于这些数学家而言。
难就难在,要把这些东西与现实结合并创新发明出计算机让机器做这种运算。
这些王学新没法跟他们讲,因为这是实践的问题。
王学新只告诉他们:“到时候你们就知道有什么用了!”
据说,当这两人看到“克里斯托弗”这种使用二进制进行运算甚至能解码的机器后,震惊得半天都没说出话来,他们不敢相信这世界上还有这种机器。
琼见他们的样子只是对他们说:“你们的团长同志保密工作做得不错!”
“什么意思?”两名数学家不明所以。
“这对你们八路军来说早就不是秘密了!”琼回答:“而且你们还有更先进的!”
这再一次把两个数学家震惊到无以复加。
八路军也有这种机器?
还更先进?
怎么可能!
不过想想,两个数学家又觉得这完全有可能,比如王学新不就知道?
他们之所以不知道,可能只是因为那是军事上的保密项目而已。
想到这里,数学家们又是自豪又是惭愧。
自豪的是华夏居然也能领先日不落,而且还是在科学创新领域,在这之前是从未有过的事。
惭愧的是,他们相当长一段时间内还以为自己在国内的数学领域上处于顶端,就算不在顶端也是前列,现在看来……这想法实在可笑。
然而,更让两位数学家震惊的还在后头。
两个数学家一个叫班浩林一个叫陈杰风,两人都是正值中年并且在国内知名大学任过教的,在华夏数学界颇有些威望。
他们与琼一起投入到继电器计算机的研发后,感觉就像开辟了一个全新的领域打开了一扇新世界的大门……其实这就是一个新世界,它将来还会改变这个世界。
这使两人兴奋不已,同时又感觉到了自己的渺小和落后。
这一天,琼和他们正在讨论一组需要多少个继电器……这决定了计算机运算的范围。
琼认为应该要用32个两位数学家却主张用16个。
“32位可以完成更多的任务!”琼说:“继电器的体积比‘克里斯托弗’小得多,耖电量也更小,尤其速度更快,如果不能算更大的数,速度的增加就没有太大的意义!”
“虽然你说的都对,琼!”班浩林反对道:“你应该知道继电器工作的风险很大,32位意味着我们需要的零件至少要增加一倍,风险和维护难度也增加一倍!”
这是由继电器的工作特性决定的,只要有一个继电器出问题整台机器都无法正常运行,所以零件越多风险就越大。
“可这依旧值得我们一试!”琼坚持:“只有32位才有可能满足大部份的运算需求!”
“可是‘克里斯托弗’就是16个一组的!”陈杰风对此表示不解。
“所以我们才知道它不够!”琼说:“远远不够!”
这时王学新信步走进了防空洞,听到他们争吵不由疑惑的走上前进。
琼就像找到救星一样松了口气,朝王学新叫道:“团长同志,你来的正好,我想听听你的意见!”
王学新初时还一阵紧张,因为像这种数学家讨论的问题,只要稍微深奥一些自己就听不懂了……自己大学时最怕的就是数学。
但既然已经撞到枪口上了也不能临阵脱逃,王学新只能硬着头皮上。
听完两边的畅述之后,王学新基本明白了。
这其实是日不落和华夏对计算机的需求不同。
日不落研发计算机有更庞大的数据需要处理,所以需要更多位计算范围更广的计算机。
而华夏,至少到目前为止计算机的作用就是解码。
对于工业还没大发展的华夏,16位运算已经足够了,甚至将来王学新想要将其搬到飞弹上也是如此。
“如果我们需要提高运算精度的话!”琼继续劝说着:“当然要扩展到32位,否则会有很多麻烦!”
“运算精度?”王学新一愣,然后问:“琼,你听说过浮点运算吗?”
“浮点运算?”琼一脸懵:“那是什么?”
第1267章 节省空间
也难怪琼不知道。
浮点运算这东西是在计算机发展一段时间后才针对有限存储空间提高其灵活性和运算范围发明出来的。
此时的琼还有远在日不落的图灵,他们虽然有足够的智商发明这种运算,但此时他们的注意力主要集中在“克里斯托弗”本身,而且主要针对其解码方面的用途,于是就没有考虑到这一点。
“这么说吧!”王学新带着几个人来到防空洞门边的办公桌前,拿过桌上的纸和笔一边写着一边解释道:“如果我们使用16位运算带小数的数据,按常规的运算方式应该是将一半的存储单元也就是7位配给整数,另8位分配给小数,对吗?”
“没错!”琼点了点头。
之所以整数位只有7位,是因为数据通常有正有负,要空出一位表示正负(0表示正,1表示负),这一位也被称作是符号位。
“这样的存储法很多时候会出现空间和时间的浪费!”王学新接着说道:“它的整数位固定只有7位小数位固定只有8位,如果有个数据是123456678,虽然它只有8位数而我们的存储单元有16个,但却存不下这个数字!”
这是因为整数位只有7位的原因,所以一个八位数已经超出它的储存范围了,尽管小数位的8个储存单元一个数字都没存。
同理,如果整数位一个数字都没有,小数位却在第九位上,也无法有效储存进行运算。
琼点头道:“这就是我想说的,我们应该要扩展到32个存储单元,之前用机械零件要做到这一点很困难,现在改用继电器做零件了,同样的条件完全能实现32位为什么不做?”
“等等,琼!”王学新说:“你先听我说完!”
琼点了下头然后就不说话了。
王学新接着说道:“这是传统的储存方式,我们姑且把它称作定点运算。浮点运算的意思是,我们把其中几位,比如四位用来存储次方……”
“存储次方?”琼吃惊的望向王学新:“但它们通常没有次方!”
陈班两人也疑惑不解,他们不明白这样转换会有什么用。
王学新举了个例子:“比如刚才的数据12345678,我们为什么不能把它变成1.23456678乘以10的7次方?然后我们的整数和小数的存储空间就可以随意利用,简单的说,就是小数没有用到的存储空间就可以用这方法变换到整数利用,整数没有用到的存储空间可以变换到小数去利用!”
琼听着不由恍然大悟。
“说得对,团长同志!”琼说:“这样一来,任何时候我们的存储空间都有11位,可以存下任何一个11位数而不是定点运算的7位整位或8位小数。”
“是的!”王学新点了点头,说:“实际上,如果把它转换为二进制并把所有的数字都转换成1.xxxx的形式并只存小数点后的数字的话,我们还可以多存一位也就是12位!”
这有点难理解。
之所以能多存一位,是因为二进制中的数字不是0就是1,而第一位永远都是1……第一位如果是0的话就不需要写出来了,就像十进制里的一个整数前面不可能有零一样。
如果第一位永远是1,那就不需要浪费一个空间把它存进存储单元里,于是就省下了一个存储单元做到了存储单元最大化利用。
具体到运算时要做的,就是不要把这个没有存进去的“1”漏掉……现代编程运算可以在程序中把“1”加上计算,而这时期的运算,就是在存储单元之间多接几根电线增加些进位规则。
王学新接着又说道:“确切的说,不只12位!”
琼一愣,然后马上就明白了,她瞪大了眼睛连连点头:“是的,不只12位!应该是……”
琼稍加思索,就兴奋的说:“极端情况下,应该是20位,对吗?团长同志!”
王学新点了点头,琼不愧是琼,一个日不落的数学家,她马上就知道小数点可以移动的另一个好处,就是还可以增加运算精度。
比如一个数据是0.00000001111111111111,定点运算是没法存这个数字的,但浮点运算只需要把它变成1.111111111111,再将小数点移了多少位存在次方存储单元,12个存储单元就恰好可以把这个数存下并进行运算。
这说白了其实就是二进制的科学计数法,只不过要想办法把数据准确的存进有限的空间里所以才多出了七七八八空间还有位数之类的玩意。
班、陈两人听着有些迷糊,但看到琼一脸兴奋的样子,他们就知道王学新说的没错,只是他们没听懂而已。
不过在这方面王学新并不担心,因为班、陈两人只是一时没习惯二进制的计算也没习惯将其与计算机的存储单元联系在一起,所以才有些半懂不懂听得不是很明白。
“太棒了团长同志!”琼兴奋的拥抱了王学新一下,说:“这方法使我们可以在不增加存储单元的情况提高运算精度和运算范围,太不可思议了,你是怎么想到这方法的?”
“这……”王学新有些尴尬的看了看班陈两人一眼,回答:“这是……你知道的,我们在研发计算机的时候就碰到这个问题,为了尽可能的降低故障率,我们只能想尽办法减少零件!”
王学新这个解释合情合理。
零件越多故障率越高,反过来零件越少故障率当然就越低。
八路军的工业水平不行零件故障率高,就要想尽办法减少零件以降低故障率,于是就要在算法上动脑筋。
不过当然,这一切都没有发生,它们只是王学新虚构出来的。
王学新会知道这些,只不过是占了点现代人的便宜罢了。
有时候王学新在想,如果这些都能上,那是不是自己在大学时学的那什么c语言也能用上?
不过想想就知道不可能,这时候计算机才刚出来,用的都是低级语言甚至连低级语言都没有,需要手动连线控制……
像c语言这种东西那肯定是用不上的。
<div style="text-align:center;">
<script>read_xia();</script>