這是我的任何研究之前,第一邏輯:爲什麼32位機器的最大容量是4GB?
因爲它是一個32位的機器,將有2^32位(這是約4十億) ,但它們在位,所以我必須把它轉換成字節。 (~4億美元/ 8) 然後我得到~5億字節,或~500MB。
實際上,我是好奇,爲什麼它不是500 MB,所以我發現這一點:
「根據定義,一個32位處理器使用32位指每個內存字節的 位置2^32 = 42億,這意味着一個長32位的內存地址 只能引用42億個 的唯一位置(即4 GB)。「 (original source)
但我很困惑,因爲再次,每一個內存地址是32位長,並有4.2十億人。每個存儲器地址是4個字節,而不是1個字節。因此它將是4.2千兆* 4字節= 16.8 GB。
很明顯,我錯過了我的邏輯中的東西。任何澄清?
噢,那麼如果我在我的內存位置0x00004000處有0x12345678,那麼數據(0x12345678)會被切割成4塊,最後佔用4個內存位置? 啊!那是什麼時候發生大大小小的排序。我應該知道的。 那麼我真正的問題是,當我們有4個字節的內存地址時,爲什麼每個內存地址只有1個字節?爲什麼我們不能爲每個地址提供更多數據? –
@ RivenLv3:對於某些專用產品,我們確實看到每個地址使用多於1個字節。但考慮到通用文件是字節大小的,就像網絡通信協議一樣。具有非標準尺寸會打破互操作性。 – MSalters