1. 程式人生 > >對於作業系統32位&64位定址地址的理解

對於作業系統32位&64位定址地址的理解

今晚在查資料的時候突然糾結到了一個問題:

ip地址是32位的,那麼所有可能的ip地址一共有2**32=4G個。

那麼問題來了,這所有的ip地址儲存起來到底是多大的空間呢?

一開始忽略了這個問題,直接認為是4G的空間,仔細想了想,不對啊,每一個ip地址是32位=4byte,那麼4G種變化x4byte=16GB空間啊。這應該才是正解。

於是第二個問題來了:32位定址地址的作業系統記憶體應該是多大呢?

這是答案大家都知道,因為大多數人的電腦只有4G記憶體,那麼32位的所有變化一共有2*32=4G,而一個32位=4byte,那麼難道32位作業系統能夠支配16G記憶體空間。

糾結~~~,靈光一閃,位元組byte是最基本的儲存單位,每一個定址地址大小=1byte(位元組),因此32位作業系統最多能夠查詢到地址2*32=4G個,每個地址=1byte,因此剛好是4G記憶體空間。OK,所以應該吸取教訓,每一個記憶體地址的大小就是1byte。

所以64位作業系統最大定址2**64=(2**32)*(2**32)=4G*4G=16M*T. 是不是很刺激?