为了有效使用内存,给内存划分了一个个的内存单元,每个内存单元的大小位 1Byte!!
那么内存的单元的大小为什么是1个字节呢? ----- 这得从计算机内存说起
计算机现在有32位和64位操作系统的区分,而这两者之间的区别就是32根地址线和64根地址线的区别.
举个例子,32根地址线 ----- 就是32根物理线 ----- 物理线通电 ----- 产生1(正电平)或0(负电平)的电平信号,那么这样,当程序通电的时候,32根地址线会产生各自不同的1或0的电信号,这些信号会转换成数字信号,在内存中形成32位的二进制序列,每一个二进制序列就是每一个内存单元的编号,即地址!!! 而这样的32位二进制序列有2^32个.
那么问题来了,现在我知道了32位操作系统的内存有2^32个内存单元,那么该给每个内存单元分配多少空间大小呢??? 假如,我们给每个内存单元1个bit的大小,那么总内存换算成GB就是0.5GB,(换算过程如下)👇
2^32bit = 4,294,967,296bit = 536,870,912Byte = 524,288KB = 512MB = 0.5GB👇
换算规则:
1GB >>> 等同于 | 1024MB |
1MB >>> 等同于 | 1024KB |
1KB >>> 等同于 | 1024Byte |
1Byte >>> 等同于 | 8bit |
0.5GB太小!!!所以经过计算分析,给每个内存单元1个字节(即1Byte)的大小是最合适的!
这就是内存编号和内存单元大小的设定原理 ---- just浅浅谈一下自己的心得!!大佬不要喷嘿嘿!!!!