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语言这种东西那肯定是用不上的。 lt;div style=quot;text-align:center;quot;gt; lt;scriptgt;read_xia();lt;/scriptgt;M.DxSzXEDu.coM