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位操作系统同理。
为了更好地描述存储单位,使人们能够更容易理解计算机的空间,计算机行业又制定了比比特更大的单位,这个单位就是字节,英文描述为 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上的内存是两头向中间增长。
内存地址(理解)
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章