|
发表于 2020-5-16 11:16:36
|
显示全部楼层
1、指针是一种极其特殊的数据类型,它不像基本数据类型那样可以直接赋值到内存空间,因此指针的空间是无法存取数据的。因此,不妨提出这样一个疑问,指针的空间中到底存储的是什么?答案是:地址。那么地址是什么,它总得有一串形式将其表现出来吧。是的,其表现形式是一串数字。而基本数据类型的多数表现形式也是一串数字,因此初见指针的感觉就像美国对于亚太地区的政策一样:混乱可控。不过话又说回来:看到底层时,谁又不是谁的数字呢,世界都是数字的,AI引领的时代,我们会慢慢看见。回来,因此指针和基本数据类型是表现形式有所雷同,但其本质却截然不同。
2.先引导一下32位操作系统,32位操作系统之所以被称之为32位操作系统, 是因为CPU所能处理的数据的最大位数是32位。而一个字节刚好是8位,因此是4个字节。
3.再说32位操作系统所能支持的最大内存的大小是(-1)Byte ≈ 4,294,967,295 Byte.大约是4G。先按下32位操作系统为什么支持的最大内存的大小是4G不说,我们先说说CPU的寻址。
4.CPU是按地址寻找数据的,那么衡量寻址能力大小的参数故而就是地址位数,即地址宽度。要达到内存的最大支持位数,“地址线”位数要与CPU命令位数一样。CPU位数为32位,那么"地址线总位数"也必须是32位。当CPU命令位数达到饱和时,地址总线位数则达到饱和。 所以,内存总字节数 = 字节数宽度 * 1Byte
材料引用 CSDN 论坛 |
|