内存地址(理解)_内存地址的含义

(3) 2024-06-14 20:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
内存地址(理解)_内存地址的含义,希望能够帮助你!!!。

目录

  • 内存地址
  • 内存大小
  • 大端小端

内存地址

一个内存地址=一个内存单元=一个字节

一个地址表示的是一个8bit空间
(不论这个地址有多少位,表示地址的位数和CPU的位有关:
CPU只能寻址16位(16根地址线),所以用4位十六进制表示地址,CPU只能寻址32位(32根地址线),所以用8位十六进制。一位十六进制表示四位二进制。)

内存大小

32/64位操作系统就是和CPU的位数有关,CPU的位数是指CPU一次性可以处理数据或指令的能力。例如8位的CPU,一次只能处理一个8位的数据或者一个8位的指令。

位的单位是bit,字节的单位是byte。1byte=8bit,1字节=8位。
字节一般用B,位一般用b

1GB简称1G, 指存储数据的容量大小

1G=KB ,1G=1024MB,1MB=1024KB,1KB=1024B字节
1TB=2*2*2*2*2*2*2*2*2*2=1024GB
1G=2*2*2*2*2*2*2*2*2*2=1024MB
1MB=2*2*2*2*2*2*2*2*2*2=1024KB
1KB=2*2*2*2*2*2*2*2*2*2=1024B

地址总线的位宽决定了CPU的寻址能力有关。位宽就是位数、宽度。

因为计算机内部是以二进制表示的,所以,
32位(bit)处理器(cpu)的寻址能力最大为:
以字节为单位,找到一位也就找到了一字节,因为字节是最小单元
实际上就是2的32次方个8bit(1Byte),等于232Byte,
232(Byte)=210 * 210 * 210 * 22(Byte)=4GB

所以常说32位操作系统最多支持4GB内存,64位操作系统同理。
内存地址(理解)_内存地址的含义_https://bianchenghao6.com/blog__第1张
为了更好地描述存储单位,使人们能够更容易理解计算机的空间,计算机行业又制定了比比特更大的单位,这个单位就是字节,英文描述为 byte ,简写为字母 B ,它是常用的基本单位。

随着计算机数据的不断扩大,KB 又出现了,它和 byte 的换算关系就是 1 个 KB 等于 1024B ,然后又是 MB , 1MB 等于 1024KB ,接下来的就是非常常见的 GB , 1GB 等于 1024MB ,再往上就是 TB , 1TB 等于 1024GB ,各个单位都是 1024 的数量级关系。

在生活中,一张图片的大小差不多就是几个 MB 左右,而一部电影则差不多在 2GB 左右。

注意区分:
1MB/s(兆字节/秒)=8Mbps(兆位/秒)
1MB/s=8Mbps
个人理解:。。。 。。。

大端小端

32bit的16进制数 0x 在内存中的存放方式:
大端: 高字节存储在低地址,低字节存储在高地址

内存地址 0x1000 0x1001 0x1002 0x1003
存放内容 0x12 0x34 0x56 0x78

小端: 低字节存储在低地址,高字节存储在高地址

内存地址 0x1000 0x1001 0x1002 0x1003
存放内容 0x78 0x56 0x34 0x12

堆向高地址扩展,栈向低地址扩展。
windows上内存是中间向两头增长,linux上的内存是两头向中间增长。

内存地址(理解)

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复