关于内存以及基本单位
2015-09-21 22:49
197 查看
我们从地址总线开始讲,这也是我思考这个问题的开端。
地址总线是用来沟通CPU与内存的一种电脑总线。而总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。一般32位的比较常见,我们来讨论32位的总线。
32位的总线,也就是说能同时传送32位二进制数。那么32位二进制数有多少种可能呢?对了,就是2^32种可能。而每一种可能就是一个地址,而一个地址多长呢?对了,正好就是4个字节,32位。(我不知道这个“巧合”更深层次的意思,如果你知道的话请告诉我~)
也就是说有2^32个地址,每个地址对应内存一个单元。而一个单元是一个字节。所以,我发现了对我来说的一个重大秘密——为什么32位的最大内存是4G?(准确说是最大寻址空间)
就是最大寻址空间里面有2^32个单元,每个单元1字节。所以最大寻址空间是2^32K,也就是4G。
在想上面问题的时候对于一些原先浑浑噩噩的知识弄懂了一点。
int型变量的范围到底怎么确定的?
一个int型变量占4个字节,一个字节8位。所以一个int型是一个32位的二进制数,范围宽2^32。考虑补码等等,范围在(-2^16,2^16-1)
地址总线是用来沟通CPU与内存的一种电脑总线。而总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。一般32位的比较常见,我们来讨论32位的总线。
32位的总线,也就是说能同时传送32位二进制数。那么32位二进制数有多少种可能呢?对了,就是2^32种可能。而每一种可能就是一个地址,而一个地址多长呢?对了,正好就是4个字节,32位。(我不知道这个“巧合”更深层次的意思,如果你知道的话请告诉我~)
也就是说有2^32个地址,每个地址对应内存一个单元。而一个单元是一个字节。所以,我发现了对我来说的一个重大秘密——为什么32位的最大内存是4G?(准确说是最大寻址空间)
就是最大寻址空间里面有2^32个单元,每个单元1字节。所以最大寻址空间是2^32K,也就是4G。
在想上面问题的时候对于一些原先浑浑噩噩的知识弄懂了一点。
int型变量的范围到底怎么确定的?
一个int型变量占4个字节,一个字节8位。所以一个int型是一个32位的二进制数,范围宽2^32。考虑补码等等,范围在(-2^16,2^16-1)
相关文章推荐
- IE7降低内存和降低CPU的几个技巧
- 如何高效的使用内存
- DOS下内存的配置
- XP/win2003下发现1G的内存比512M还慢的解决方法
- PowerShell实现动态获取当前脚本运行时消耗的内存
- C#实现把dgv里的数据完整的复制到一张内存表的方法
- SQL语句实现查询SQL Server内存使用状况
- C语言内存对齐实例详解
- 深入学习C语言中memset()函数的用法
- 全局变量与局部变量在内存中的区别详细解析
- VB读取线程、句柄及写入内存的API代码实例
- php运行提示:Fatal error Allowed memory size内存不足的解决方法
- IE浏览器IFrame对象内存不释放问题解决方法
- C#之CLR内存深入分析
- JavaScript 变量、作用域及内存
- JavaScript避免内存泄露及内存管理技巧
- c++实现逐行读取配置文件写入内存的示例
- Shell脚本查看进程内存真实占用情况
- w3wp.exe占用cpu过高的解决方法第1/2页
- php统计时间和内存使用情况示例分享