今晚在查资料的时候突然纠结到了一个问题:
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. 是不是很刺激?