我正在阅读32位和64位系统之间的区别,并在此过程中遇到了这个博客:https://www.zdnet.com/article/clearing-up-the-3264-bit-memory-limit-confusion/
现在我很困惑,因为在此博客中,他们提供了如下注释:
注意:想知道我们如何达到4GB的限制吗?这是32位系统的数学运算:
2 ^ 32 = 4,294,967,296字节4,294,967,296 /(1,024 x 1,024)= 4,096 MB = 4GB
与64位不同:
2 ^ 64 = 18,446,744,073,709,551,616 18,446,744,073,709,551,616 /(1,024 x 1,024)= 16EB(艾字节)
他们声明程序是32位还是64位会更改其可以使用的内存限制。
我不明白的是,位如何变成字节?如果算出2的32位幂,结果肯定是4,294,967,296 位,而不是 bytes ?如果是这样,那么32位系统上的内存限制将是4 Giga Bits ,而不是4 Giga Bytes ?
有人可以解释这是如何实现的吗?也许我想念什么?
答案 0 :(得分:1)
每个可单独寻址的存储单元都是一个字节。内存不是位可寻址的,只能以字节块或更大的字节为单位。因此,在位图中设置单个位需要对包含的字节或字进行读-修改-写操作。