请注意:我知道它们之间的区别,所以这个问题不是为了知道它们之间的区别而是为了别的东西。
我将根据可靠信息来源整理的我的理解和知识(对于那些不知道的人)放在下面。
- 所有这些都是数字信息的字节倍数单位。
Gigabyte和Gigabit是十进制表示法,分别表示字节和位的10次方。
- 千兆字节 = 10^9 字节 (GB)
- 千兆位 = 10^9 位(Gb 或 Gbit)
Gibibyte 和 Gibibit 是二进制表示法,分别表示字节和位,单位为 2 的幂。
- 吉比字节 = 2^30 字节 (GiB)
- 吉比特 = 2^30 字节(吉比特)
出于符号的考虑,字节始终表示为 B,位始终表示为 b。
据我所知,上述信息属实。
下面是在很多地方都可以看到的引用,包括Wiki 32-bit , Stackoverflow 32 bit如下所示,32 位内存地址可以访问 4 GiB(这意味着 4 Gibibyte 而不是 4 Gibibit)的字节可寻址内存。
Hence, a processor with 32-bit memory addresses can directly access 4 GiB of byte-addressable memory.
问题:
我真的很困惑(事实上已经疯了)2^32 位内存地址如何访问 4 gibi 字节可寻址内存?不应该是 4 Gibibit 或 0.5 Gibibyte 吗?
1 个字节有 8 位,所以如果我们以字节为单位讨论内存,那么 2^32 位不是意味着 0.5 Gibibyte 或 4 Gibibit 吗?
我的意思是 2^32 位如何表示为 4 GiB 或 4 Gibibyte?这不可能是某种约定,因为字节和位不能像这样播放。所以,一定有一个正当的理由。
如果有 2^32 个内存地址,每个存储 1 个字节,那么这意味着我有 2^32 * 2^3 = 2^35 位内存。那么它不再是 2^32 而是 2^ 35.没有?
P.S.:我不是计算机科学毕业生,所以请原谅我。
最佳答案
2^32 = 4294967296 - 因此在 32 位架构上,您可以在内存中达到 40 亿个地址。每个地址存储一个字节(8 位)。
所以你的“最大内存”确实是 2^32 字节或 4 x 2^30 字节或 4 GiB。
关于java - 技嘉 vs 吉比 & 技嘉 vs 吉比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080472/