为什么64位架构师中的指针能够指向根本不存在的地址?

时间:2018-06-26 23:00:19

标签: pointers

64位架构师中的指针占用64位内存。对于指针的每个不同值,它指向另一个字节,这意味着它可以指向2 ^ 64个不同的字节地址之一。

2 ^ 64字节= 2 ^ 54 kb = 2 ^ 44 mb = 2 ^ 34 gb = 2 ^ 24 Tb = 16777216 Tb

但没有RAM甚至硬盘驱动器都具有如此大的空间。

那为什么呢?指针不能更小吗?还是我错了?

1 个答案:

答案 0 :(得分:0)

确保它们可以更小... 基本上,如果您有可单独寻址的字节...则整个RAM空间需要容纳在指针地址空间的内部。

因此,如果有某种标志位,则最多支持32位的4GiB或2GiB ... 对于现代计算而言,这还远远不够。下一个大小可能是333448 ...但是现在64位是本机宽度。 ..并且没有大于32的数字会不止一次地分成64个...因此64位(如果需要某种标志位则为63)非常有意义