之所以能多存一位,是因為二進制中的數字不是0就是1,而第一位永遠都是1第一位如果是0的話就不需要寫出來了,就像十進制里的一個整數前面不可能有零一樣。
如果第一位永遠是1,那就不需要浪費一個空間把它存進存儲單元里,于是就省下了一個存儲單元做到了存儲單元最大化利用。
具體到運算時要做的,就是不要把這個沒有存進去的“1”漏掉現代編程運算可以在程序中把“1”加上計算,而這時期的運算,就是在存儲單元之間多接幾根電線增加些進位規則。
王學新接著又說道“確切的說,不只12位”
瓊一愣,然后馬上就明白了,她瞪大了眼睛連連點頭“是的,不只12位應該是”
瓊稍加思索,就興奮的說“極端情況下,應該是20位,對嗎團長同志”
王學新點了點頭,瓊不愧是瓊,一個日不落的數學家,她馬上就知道小數點可以移動的另一個好處,就是還可以增加運算精度。
比如一個數據是000000001111111111111,定點運算是沒法存這個數字的,但浮點運算只需要把它變成1111111111111,再將小數點移了多少位存在次方存儲單元,12個存儲單元就恰好可以把這個數存下并進行運算。
這說白了其實就是二進制的科學計數法,只不過要想辦法把數據準確的存進有限的空間里所以才多出了七七八八空間還有位數之類的玩意。
班、陳兩人聽著有些迷湖,但看到瓊一臉興奮的樣子,他們就知道王學新說的沒錯,只是他們沒聽懂而已。
不過在這方面王學新并不擔心,因為班、陳兩人只是一時沒習慣二進制的計算也沒習慣將其與計算機的存儲單元聯系在一起,所以才有些半懂不懂聽得不是很明白。
“太棒了團長同志”瓊興奮的擁抱了王學新一下,說“這方法使我們可以在不增加存儲單元的情況提高運算精度和運算范圍,太不可思議了,你是怎么想到這方法的”
“這”王學新有些尷尬的看了看班陳兩人一眼,回答“這是你知道的,我們在研發計算機的時候就碰到這個問題,為了盡可能的降低故障率,我們只能想盡辦法減少零件”
王學新這個解釋合情合理。
零件越多故障率越高,反過來零件越少故障率當然就越低。
八路軍的工業水平不行零件故障率高,就要想盡辦法減少零件以降低故障率,于是就要在算法上動腦筋。
不過當然,這一切都沒有發生,它們只是王學新虛構出來的。
王學新會知道這些,只不過是占了點現代人的便宜罷了。
有時候王學新在想,如果這些都能上,那是不是自己在大學時學的那什么c語言也能用上
不過想想就知道不可能,這時候計算機才剛出來,用的都是低級語言甚至連低級語言都沒有,需要手動連線控制
像c語言這種東西那肯定是用不上的。