关于内存地址的一些理解

关于内存地址的一些理解首先 必须要知道内存地址只是一个编号 如 1000H 代表一个内存空间 在计算机中存储器的容量是以字节为基本单位的 也就是说一个内存地址代表一个字节 8bit 的存储空间 例如经常说 32 位的操作系统最多支持 4GB 的内存空间 也就是说 CPU 只能寻址 2 的 32 次方 4GB 注意这里的 4GB 是以 Byte 为单位的 不是 bit 也就是说有 4G 4 1024M Byte 4 1024 1024Kb Byt

首先,必须要知道内存地址只是一个编号,如1000H,代表一个内存空间。在计算机中存储器的容量是以字节为基本单位的。也就是说一个内存地址代表一个字节(8bit)的存储空间。

例如经常说32位的操作系统最多支持4GB的内存空间,也就是说CPU只能寻址2的32次方(4GB),注意这里的4GB是以Byte为单位的,不是bit。也就是说有4G=4*1024M(Byte)=4*1024*1024Kb(Byte)=4*1024*1024*1024bit(Byte),即2的32次方个8bit单位。

例如经常可以在一些地方看到内存地址0x0001,在另外一些地方内存地址又变成了0x00000001。其实这两种地址都是表示的编号为1的内存地址,都是代表一个8bit的存储空间。

在作数据结构或组成原理试题时我们经常会见到内存地址为:1000H或100CH的写法,其中的后缀H代表该内存地址为16进制内存地址。内存地址单元在计算机内部也是以二进制表示的,但二进制数过长,不便于计算。故一般情况下都用十六进制表示,这样更快捷、高效。在代码中用数制后缀表示一个特定的值或存储单元,编译时,由编译器负责转换和计算。常用的数制后缀如下:
二进制:B(Binary)
八进制:O(Octal),为了和“0”区别开,通常记为Q
十进制:D(Decimal),如果没有任何数制后缀,默认为十进制数
十六进制:H(Hexadecimal)



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220416.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:32
下一篇 2026年3月17日 下午8:32


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号