頂點小說網->軍事->亮劍之軍工系統->章節

第628章 節省空間

熱門推薦: 都市國術女神 女配她天生好命 我真不是魔神 我有一座天地當鋪 特種兵之戰狼崛起 從嚮往開始制霸娛樂圈 諸天新時代 食物鏈頂端的猛獸 宇宙級寵愛 劍仙三千萬

也難怪瓊不知道。

浮點運算這東西是在計算機發展一段時間後才針對有限存儲空間提高其靈活性和運算範圍發明出來的。

此時的瓊還有遠在日不落的圖靈,他們雖然有足夠的智商發明這種運算,但此時他們的注意力主要集中在“克里斯托弗”本身,而且主要針對其解碼方面的用途,於是就沒有考慮到這一點。

“這麼說吧!”王學新帶著幾個人來到防空洞門邊的辦公桌前,拿過桌上的紙和筆一邊寫著一邊解釋道:“如果我們使用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的話就不需要寫出來了,就像十進制裡的一個整數前面不可能有零一樣。

【鑑於大環境如此,本站可能隨時關閉,請大家儘快移步至永久運營的換源App,huanyuanapp.org 】

如果第一位永遠是1,那就不需要浪費一個空間把它存進存儲單元裡,於是就省下了一個存儲單元做到了存儲單元最大化利用。

具體到運算時要做的,就是不要把這個沒有存進去的“1”漏掉……現代程式設計運算可以在程式中把“1”加上計算,而這時期的運算,就是在存儲單元之間多接幾根電線增加些進位規則。

王學新接著又說道:“確切的說,不只12位!”

瓊一愣,然後馬上就明白了,她瞪大了眼睛連連點頭:“是的,不只12位!應該是……”

瓊稍加思索,就興奮的說:“極端情況下,應該是20位,對嗎?團長同志!”

王學新點了點頭,瓊不愧是瓊,一個日不落的數學家,她馬上就知道小數點可以移動的另一個好處,就是還可以增加運算精度。

比如一個資料是0.00000001111111111111,定點運算是沒法存這個數字的,但浮點運算只需要把它變成1.111111111111,再將小數點移了多少位存在次方存儲單元,12個存儲單元就恰好可以把這個數存下並進行運算。

這說白了其實就是二進制的科學計數法,只不過要想辦法把資料準確的存進有限的空間裡所以才多出了七七八八空間還有位數之類的玩意。

班、陳兩人聽著有些迷湖,但看到瓊一臉興奮的樣子,他們就知道王學新說的沒錯,只是他們沒聽懂而已。

不過在這方面王學新並不擔心,因為班、陳兩人只是一時沒習慣二進制的計算也沒習慣將其與計算機的存儲單元聯絡在一起,所以才有些半懂不懂聽得不是很明白。

“太棒了團長同志!”瓊興奮的擁抱了王學新一下,說:“這方法使我們可以在不增加存儲單元的情況提高運算精度和運算範圍,太不可思議了,你是怎麼想到這方法的?”

“這……”王學新有些尷尬的看了看班陳兩人一眼,回答:“這是……你知道的,我們在研發計算機的時候就碰到這個問題,為了儘可能的降低故障率,我們只能想盡辦法減少零件!”

王學新這個解釋合情合理。

零件越多故障率越高,反過來零件越少故障率當然就越低。

八路軍的工業水平不行零件故障率高,就要想盡辦法減少零件以降低故障率,於是就要在演算法上動腦筋。

不過當然,這一切都沒有發生,它們只是王學新虛構出來的。

王學新會知道這些,只不過是佔了點現代人的便宜罷了。

有時候王學新在想,如果這些都能上,那是不是自己在大學時學的那什麼C語言也能用上?

不過想想就知道不可能,這時候計算機才剛出來,用的都是低級語言甚至連低級語言都沒有,需要手動連線控制……

像C語言這種東西那肯定是用不上的。

本书作者其他书: 大秦工程兵 蘇聯1941 越戰的血 抗戰之中國遠征軍 絕對殺戮 決戰朝鮮 浴血抗戰 五代十國一儒生 決戰第三帝國
相關推薦:開局一座五星級酒店這個男星有點帥從小學音樂老師到巨星三國從單騎入荊州開始帶上包子闖關東拳傾星河神級採集術曹魏大秦之系統騙我在仙俠世界某美漫的鳳凰之力