Java 千兆字节v/s千兆字节;千兆v/s千兆比特

Java 千兆字节v/s千兆字节;千兆v/s千兆比特,java,operating-system,byte,32-bit,memory-address,Java,Operating System,Byte,32 Bit,Memory Address,请注意:我知道它们之间的区别,所以这个问题不是为了知道它们之间的区别,而是为了别的什么 我把我的理解和知识(对于那些不知道的人)放在下面,这是从可靠的信息来源汇编而来的 所有这些都是数字信息的字节倍数单位 Gigabyte和Gigabit表示十进制,分别以10的幂表示字节和位 GB=10^9字节(GB) 千兆=10^9位(Gb或Gbit) Gibibyte和Gibibit表示二进制表示法,分别以2的幂表示字节和位 GiB字节=2^30字节(GiB) Gibit=2^30字节(Gibit)

请注意:我知道它们之间的区别,所以这个问题不是为了知道它们之间的区别,而是为了别的什么

我把我的理解和知识(对于那些不知道的人)放在下面,这是从可靠的信息来源汇编而来的

  • 所有这些都是数字信息的字节倍数单位
  • Gigabyte和Gigabit表示十进制,分别以10的幂表示字节和位

    • GB=10^9字节(GB)
    • 千兆=10^9位(Gb或Gbit)
  • Gibibyte和Gibibit表示二进制表示法,分别以2的幂表示字节和位

    • GiB字节=2^30字节(GiB)
    • Gibit=2^30字节(Gibit)
  • 为了符号起见,字节将始终表示为B,位将始终表示为B

  • 据我所知,上述信息是真实的

    下面是可以在许多地方看到的引用,包括等。根据下面的说明,32位内存地址可以访问字节的可寻址内存的4 GiB(,表示4 GiB字节,而不是4 GiB字节)

    因此,具有32位内存地址的处理器可以直接访问4 字节可寻址存储器的GiB

    问题:
    我真的很困惑(事实上是发疯了),2^32内存地址如何访问4个gibi字节的可寻址内存?应该是4吉比特还是0.5吉比特?
    1字节有8位,所以如果我们用字节来谈论内存,那么2^32位不是意味着5吉比特还是4吉比特

    我的意思是2^32位如何表示为4 GiB或4 GiB字节?这不能是某种惯例,因为字节和位不能像这样播放。因此,有一个合理的理由。
    如果有2^32个内存地址,每个存储1个字节,则表示我有2^32*2^3=2^35位内存。则不再是2^32,而是2^35。没有


    注:我不是计算机系毕业生,所以请原谅我。

    <2^32=4294967296-因此,在32位体系结构上,内存中可以达到40亿个地址。每个地址存储一个字节(8位)


    因此,您的“最大内存”实际上是2^32字节或4 x 2^30字节或4 GiB。

    这里似乎回答了这个问题:请注意定义:“字节可寻址内存”。@realponsign即使是“字节可寻址内存”,那么4 GiB又如何呢?对于2^32位,如何推导出4 GiB,这是我无法理解的部分。。当你用字节说话时,1字节=8位,所以需要转换。“字节可寻址内存”很好,但为什么是4Gib?@Keith感谢链接。但是,对我来说,被接受的答案是谈论一些完全不同的东西,比如内存不足、交换等等,而不是解释真实的东西。好的。。因此,如果我谈论内存,那么在最低级别,我有位来存储信息。现在,当你说内存中有2^32位地址,每个地址存储8个字节时,它不是变成了内存中的2^35位地址还是内存中的2^35位地址?那么这意味着说2^32位内存架构是错误的…@hagrawal这不是“2^32位架构”。这个术语是“32位体系结构”,意思是一个CPU寄存器的大小,可以包含一个内存地址。@realponsir是的,先生,我得到了这个部分。。32位系统将有4字节或32位的内存地址,64位系统将有8字节的64位内存地址..但我对其他部分持怀疑态度..可能不应该评论“说2^32位内存架构是错误的”..32位是内存地址的大小-但位于该内存地址的内容始终是一个字节(在通常的体系结构上)。因此,在16位CPU上,您可以达到2^16字节的内存-在32位CPU上,您可以达到2^32字节的内存。等等,我不确定我是否理解你不清楚的部分。。。